centos

centos上kafka集群如何搭建

小樊
93
2025-02-13 15:35:14
栏目: 智能运维

在CentOS上搭建Kafka集群涉及多个步骤,包括安装Java、配置Zookeeper、安装Kafka、配置Kafka节点以及启动和验证集群。以下是一个详细的步骤指南:

1. 安装Java环境

Kafka需要Java运行环境,首先确保你的系统上已经安装了Java。

sudo yum install java-1.8.0-openjdk-devel -y
java -version

2. 下载并解压Kafka

从Apache Kafka官方网站下载适合的版本,并解压到指定目录。例如,下载Kafka 2.13.0版本:

wget https://downloads.apache.org/kafka/2.13.0/kafka_2.13-2.8.0.tgz
tar -xzf kafka_2.13-2.8.0.tgz
cd kafka_2.13-2.8.0

3. 配置Zookeeper

Kafka依赖于Zookeeper进行集群管理和协调。

3.1 安装Zookeeper

sudo yum install zookeeper-server-start zookeeper-server-stop zookeeper -y

3.2 配置Zookeeper

编辑Zookeeper配置文件 /kafka_2.13-2.8.0/config/zookeeper.properties

dataDir=/var/lib/zookeeper
clientPort=2181
maxClientCnxns=60
initLimit=5
syncLimit=2
server.1=zookeeper1:2888:3888
server.2=zookeeper2:2888:3888
server.3=zookeeper3:2888:3888

3.3 启动Zookeeper服务

sudo systemctl start zookeeper
sudo systemctl enable zookeeper

4. 配置Kafka

编辑Kafka配置文件 /kafka_2.13-2.8.0/config/server.properties

broker.id=1
listeners=PLAINTEXT://:9092
log.dirs=/tmp/kafka-logs
num.partitions=3
default.replication.factor=3
zookeeper.connect=zookeeper1:2181,zookeeper2:2181,zookeeper3:2181

5. 启动Kafka服务

启动Kafka服务器:

sudo systemctl start kafka
sudo systemctl enable kafka

6. 创建Kafka主题

创建一个测试主题:

bin/kafka-topics.sh --create --topic my-topic --bootstrap-server localhost:9092 --replication-factor 3 --partitions 3

7. 验证Kafka集群

你可以使用Kafka自带的工具来验证集群是否正常运行。

7.1 创建一个生产者

bin/kafka-console-producer.sh --broker-list localhost:9092 --topic my-topic

7.2 创建一个消费者

bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic my-topic --from-beginning

8. 配置客户端连接

确保你的客户端应用程序配置为连接到Kafka集群。例如,如果你使用的是Spring Boot,可以在 application.yml 中配置:

spring:
  kafka:
    bootstrap-servers: zookeeper1:2181,zookeeper2:2181,zookeeper3:2181
    consumer:
      group-id: my-group
      auto-offset-reset: earliest
    producer:
      key-serializer: org.apache.kafka.common.serialization.StringSerializer
      value-serializer: org.apache.kafka.common.serialization.StringSerializer

通过以上步骤,你应该能够在CentOS上成功部署一个Kafka高可用集群。

0
看了该问题的人还看了