将压缩包上传到服务器/export/server目录下并解压,安装包自取,zookeeper3.5.6版本+kafka2.3.1版本
cd /export/server
tar -zxvf apache-zookeeper-3.5.6-bin.tar.gz
tar -zxvf kafka_2.12-2.3.1.tgz
移动到/usr/local下并修改名称为zookeeper
mv apache-zookeeper-3.5.6-bin /usr/local/zookeeper
mv kafka_2.12-2.3.1 /usr/local/kafka
在/usr/local/zookeeper下配置zoo.cfg
cd /usr/local/zookeeper/conf/
cp ./zoo_sample.cfg zoo.cfg
打开zoo.cfg并修改配置,只需更改dataDir
dataDir=/usr/local/zookeeper/dataDir
# 集群配置
server.1=node1:2888:3888
server.2=node2:2888:3888
server.3=node2:2888:3888
在配置的dataDir下面新增文件myid,增加集群配置的识别码
scp -r zookeeper/ root@node2:$PWD
scp -r zookeeper/ root@node3:$PWD
将另外两个节点中的myid文件的值修改为相应的数字
切换到zookeeper目录下启动zookeeper
bin/zkServer.sh start
bin/zkServer.sh status
其中一台服务器为leader,其他两台为follower。表示zookeeper成功。
前面我们已经将安装包解压并移动到/usr/local目录下。
修改node1节点下Kafka目录下的config/server.properties文件,以下为修改项
broker.id=1
num.partitions=2
default.replication.factor=2
listeners=PLAINTEXT://node1:9092
log.dirs=/usr/local/kafka/logs
zookeeper.connect=node1:2181,node2:2181,node3:2181
cd /usl/local
scp -r kafka root@node3:$PWD
scp -r kafka root@node3:$PWD
以node2为例,node3节点配置参考以下进行更改。
broker.id=2
listeners=PLAINTEXT://node2:9092
启动kafka之前,最好将zookeeper集群关闭再重新启动。
cd /usr/local/kafka
bin/kafka-server-start.sh -daemon config/server.properties
这个命令同样需要再三台节点都需要执行,暂未找到一键启动的方式
出现kafka和quorumpeermain则说明正常启动。
我们将node1作为生产者,node2和node3作为消费者进行测试。
bin/kafka-topics.sh --create --zookeeper node1:2181,node2:2181,node3:2181 --replication-factor 2 --partitions 2 --topic topictest
bin/kafka-console-producer.sh --broker-list node1:9092,node2:9092,node3:9092 --topic topictest
bin/kafka-console-consumer.sh --bootstrap-server node1:9092,node2:9092,node3:9092 --topic topictest