在CentOS上部署Kafka集群涉及多个步骤,包括安装Java、配置Zookeeper、安装Kafka、配置Kafka节点以及启动和验证集群。以下是一个详细的步骤指南:
检查是否已安装Java:
java -version
如果没有安装,执行以下命令:
sudo yum install java-1.8.0-openjdk -y
验证安装:
java -version
前往Kafka官方网站下载最新版本(以3.4.0为例):
wget https://downloads.apache.org/kafka/3.4.0/kafka_2.13-3.4.0.tgz
tar -xzf kafka_2.13-3.4.0.tgz
cd kafka_2.13-3.4.0
Kafka默认内嵌了ZooKeeper,可以直接使用。如果需要自定义配置,编辑config/zookeeper.properties文件。启动ZooKeeper:
bin/zookeeper-server-start.sh config/zookeeper.properties
编辑Kafka的配置文件config/server.properties:
# 数据存储路径
log.dirs=/var/lib/kafka
# 监听地址
listeners=PLAINTEXT://:9092
# ZooKeeper 地址
zookeeper.connect=localhost:2181
# 其他参数可根据需求调整
启动Kafka Broker:
bin/kafka-server-start.sh config/server.properties
创建一个测试Topic:
bin/kafka-topics.sh --create --topic test-topic --bootstrap-server localhost:9092 --partitions 3 --replication-factor 1
查看Topic列表:
bin/kafka-topics.sh --list --bootstrap-server localhost:9092
启动生产者:
bin/kafka-console-producer.sh --topic test-topic --bootstrap-server localhost:9092
启动消费者:
bin/kafka-console-consumer.sh --topic test-topic --from-beginning --bootstrap-server localhost:9092
如果需要部署多节点Kafka集群,请参考以下步骤:
server.properties中的以下参数:
broker.id:为每个节点设置唯一的ID。zookeeper.connect:指向所有ZooKeeper节点的地址。advertised.listeners:设置外部访问地址。使用Kafka自带的工具检查集群状态:
bin/kafka-topics.sh --list --bootstrap-server localhost:9092
你应该能看到所有broker的列表。
通过以上步骤,你应该能够在CentOS上成功部署一个Kafka集群。根据实际需求,你可能需要进一步调整配置和优化性能。