在CentOS上部署Kafka高可用集群涉及多个步骤,包括安装Java、配置Zookeeper、安装Kafka、配置Kafka、创建Kafka主题以及启动Kafka服务。以下是一个详细的步骤指南:
1. 安装Java
Kafka需要Java运行环境,首先确保你的系统上已经安装了Java。
sudo yum install java-1.8.0-openjdk-devel java -version
2. 配置Zookeeper
Kafka依赖于Zookeeper进行集群管理和协调。
安装Zookeeper
sudo yum install zookeeper-server-start zookeeper-server-stop zookeeper
配置Zookeeper
编辑Zookeeper配置文件 /etc/zookeeper/conf/zoo.cfg
:
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
启动Zookeeper服务
sudo systemctl start zookeeper sudo systemctl enable zookeeper
3. 安装Kafka
下载Kafka
wget https://downloads.apache.org/kafka/2.8.1/kafka_2.13-2.8.1.tgz tar -xzf kafka_2.13-2.8.1.tgz cd kafka_2.13-2.8.1
配置Kafka
编辑Kafka配置文件 /kafka_2.13-2.8.1/config/server.properties
:
broker.id=1 listeners=PLAINTEXT://:9092 zookeeper.connect=zookeeper1:2181,zookeeper2:2181,zookeeper3:2181 log.dirs=/tmp/kafka-logs num.partitions=3 default.replication.factor=3
创建Kafka主题
bin/kafka-topics.sh --create --topic my-topic --bootstrap-server localhost:9092 --replication-factor 3 --partitions 3
4. 启动Kafka服务
启动Kafka Broker
bin/zookeeper-server-start.sh config/zookeeper.properties bin/kafka-server-start.sh config/server.properties
5. 验证Kafka集群
你可以使用Kafka自带的工具来验证集群是否正常运行。
创建一个生产者
bin/kafka-console-producer.sh --broker-list localhost:9092 --topic my-topic
创建一个消费者
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic my-topic --from-beginning
6. 配置客户端连接
确保你的客户端应用程序配置为连接到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高可用集群。