在CentOS上集成Zookeeper和Kafka,可以按照以下步骤进行:
Kafka和Zookeeper都需要Java环境,因此首先需要安装Java。
sudo yum install java-1.8.0-openjdk-devel
wget https://archive.apache.org/dist/zookeeper/zookeeper-3.7.0/apache-zookeeper-3.7.0-bin.tar.gz
tar -xzf apache-zookeeper-3.7.0-bin.tar.gz
sudo mv apache-zookeeper-3.7.0-bin /opt/zookeeper
sudo mkdir -p /var/lib/zookeeper/data
sudo mkdir -p /var/log/zookeeper
编辑/opt/zookeeper/conf/zoo.cfg文件:
tickTime=2000
dataDir=/var/lib/zookeeper/data
clientPort=2181
initLimit=5
syncLimit=2
server.1=zoo1:2888:3888
server.2=zoo2:2888:3888
server.3=zoo3:2888:3888
在/var/lib/zookeeper/data目录下创建myid文件,内容为服务器的ID(例如,第一台服务器为1):
echo 1 | sudo tee /var/lib/zookeeper/data/myid
/opt/zookeeper/bin/zkServer.sh start
wget https://archive.apache.org/dist/kafka/2.8.0/kafka_2.13-2.8.0.tgz
tar -xzf kafka_2.13-2.8.0.tgz
sudo mv kafka_2.13-2.8.0 /opt/kafka
编辑/opt/kafka/config/server.properties文件:
broker.id=1
listeners=PLAINTEXT://:9092
log.dirs=/var/lib/kafka/logs
zookeeper.connect=zoo1:2181,zoo2:2181,zoo3:2181
启动Kafka服务器:
/opt/kafka/bin/kafka-server-start.sh /opt/kafka/config/server.properties
创建一个Kafka Topic:
/opt/kafka/bin/kafka-topics.sh --create --topic test --bootstrap-server zoo1:9092 --replication-factor 3 --partitions 3
/opt/kafka/bin/kafka-console-producer.sh --topic test --bootstrap-server zoo1:9092
/opt/kafka/bin/kafka-console-consumer.sh --topic test --from-beginning --bootstrap-server zoo1:9092
在生产者端输入一些消息,然后在消费者端查看这些消息,确保Kafka和Zookeeper正常工作。
通过以上步骤,你可以在CentOS上成功集成Zookeeper和Kafka。