赞
踩
1. 规划节点
IP | 主机名 | 节点 |
192.168.100.10 | zookeeper1 | 集群节点 |
192.168.100.20 | zookeeper2 | 集群节点 |
192.168.100.30 | zookeeper | 集群节点 |
2. 基础准备
使用ZooKeeper集群搭建的3个节点来构建Kafka集群,因为Kafka服务依赖于ZooKeeper服务, 所以不再多创建云主机来进行试验。软件包使用提供的kafka_2.11-1.1.1.tgz软件包。
提供的kafka_2.11-1.1.1.tgz软件包,上传至3个节点的/root目录下,并执行解压操作,3个节点 执行的解压命令如下:
# tar -zxvf kafka_2.11-1.1.1.tgz
在zookeeper1节点,进入kafka_2.11-1.1.1/config目录下,编辑server.properties文件。 在配置文件中找到以下两行并注释掉(在文本前加#)如下所示:
- #broker.id=0
- #zookeeper.connect=localhost:2181
然后在配置文件的底部添加如下3个配置。
zookeeper1节点:
- broker.id=1
- zookeeper.connect=192.168.100.10:2181,192.168.100.20:2181,192.168.100.30:2181
- listeners = PLAINTEXT://192.168.100.10:9092
zookeeper2节点:
- broker.id=2
- zookeeper.connect=192.168.100.10:2181,192.168.100.20:2181,192.168.100.30:2181
- listeners = PLAINTEXT://192.168.100.20:9092
zookeeper3节点:
- broker.id=3
- zookeeper.connect=192.168.100.10:2181,192.168.100.20:2181,192.168.100.30:2181
- listeners = PLAINTEXT://192.168.100.30:9092
命令解析:
broker.id:每台机器不能一样。
zookeeper.connect:因为有3台ZooKeeper服务器,所以在这里zookeeper.connect设置为3 台。
listeners:在配置集群的时候,必须设置,不然以后的操作会报找不到leader的错误。 另外两台服务器,zookeeper.connect的配置跟这里的一样,但是broker.id和listeners不能一样。
在zookeeper1节点,进入kafka_2.11-1.1.1/bin目录下,启动服务命令如下。
zookeeper1节点:
- [root@zookeeper1 bin]# cd /root/zookeeper-3.4.14/bin/
- [root@zookeeper1 bin]# ./zkServer.sh start
- ZooKeeper JMX enabled by default
- Using config: /root/zookeeper-3.4.14/bin/../conf/zoo.cfg
- Starting zookeeper ... STARTED
- [root@zookeeper1 bin]# cd /root/kafka_2.11-1.1.1/bin/
- [root@zookeeper1 bin]# ./kafka-server-start.sh -daemon ../config/server.properties
- [root@zookeeper1 bin]# jps
- 4850 Kafka
- 4922 Jps
- 4556 QuorumPeerMain
zookeeper2节点:
- [root@zookeeper2 bin]# cd /root/zookeeper-3.4.14/bin/
- [root@zookeeper2 bin]# ./zkServer.sh start
- ZooKeeper JMX enabled by default
- Using config: /root/zookeeper-3.4.14/bin/../conf/zoo.cfg
- Starting zookeeper ... STARTED
- [root@zookeeper2 bin]# cd /root/kafka_2.11-1.1.1/bin/
- [root@zookeeper2 bin]# ./kafka-server-start.sh -daemon ../config/server.properties
- [root@zookeeper2 bin]# jps
- 3561 Kafka
- 3261 QuorumPeerMain
- 3629 Jps
zookeeper3节点:
- [root@zookeeper3 conf]# cd /root/zookeeper-3.4.14/bin/
- [root@zookeeper3 bin]# ./zkServer.sh start
- ZooKeeper JMX enabled by default
- Using config: /root/zookeeper-3.4.14/bin/../conf/zoo.cfg
- Starting zookeeper ... STARTED
- [root@zookeeper3 bin]# cd /root/kafka_2.11-1.1.1/bin/
- [root@zookeeper3 bin]# ./kafka-server-start.sh -daemon ../config/server.properties
- [root@zookeeper3 bin]# jps
- 3794 QuorumPeerMain
- 4088 Kafka
- 4157 Jps
在zookeeper1节点,进入kafka_2.11-1.1.1/bin目录下,创建topic命令如下。
zookeeper1节点:
- [root@zookeeper1 bin]# ./kafka-topics.sh --create --zookeeper 192.168.100.10:2181 --replication-factor 1 --partitions 1 --topic test
- Created topic "test".
如果成功的话,会输出“Created topic "test".”。
查看topic,虽然topic是在192.168.100.10上创建的,但是在其他机器上也能看到。例如在任意启 动的机器kafka_2.11-1.1.1/bin的目录中执行命令如下:
zookeeper2节点:
- [root@zookeeper2 bin]# ./kafka-topics.sh --list --zookeeper 192.168.100.20:2181
- test
zookeeper3节点:
- [root@zookeeper3 bin]# ./kafka-topics.sh --list --zookeeper 192.168.100.30:2181
- test
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。