kafka进阶-集群的安装配置
本文记录并介绍kafka集群的安装过程。
准备工作
- 准备3台Linux机器,可以是虚拟机,我用的是 CentOS 7
服务器名
IP
说明
broker-1
192.168.1.85
Kafka节点1
broker-2
192.168.1.86
Kafka节点2
broker-3
192.168.1.87
Kafka节点3
- 三台机器都安装好JDK,我用的是JDK8
安装Zookeeper
1. 下载zookeeper
1 | cd /usr/local |
解压
1 | tar -zxvf apache-zookeeper-3.6.3-bin.tar.gz |
2. 编辑配置文件
1 | cd apache-zookeeper-3.6.3-bin |
然后使用 vi zoo.cfg 命令编辑配置文件
1 | # The number of milliseconds of each tick |
在文件后面加上 server.1, server.2, server.3 这三行 。 IP地址根据你的实际情况修改
3. 编辑myid.
根据上面配置的 dataDir 配置项。到对应的目录里写入myid的值。比如上面的server.1 那么这台机器的 myid时就写1.
确保dataDir对应的目录已经存在了,我本地 /tmp/zookeeper还不存在。所以我先创建了这个目录
1 | mkdir /tmp/zookeeper |
- 在server.1 也就是192.168.1.85上输入 echo ‘1’>/tmp/zookeeper/myid
- 在server.2 也就是192.168.1.86上输入 echo ‘2’>/tmp/zookeeper/myid
- 在server.3 也就是192.168.1.87上输入 echo ‘3’>/tmp/zookeeper/myid
4.启动zookeeper
启动
1 | # ./bin/zkServer.sh start |
然后控制台会输出以下结果:
1 | /bin/java |
查看状态
1 | # ./bin/zkServer.sh status |
然后控制台会输出以下结果:
1 | ZooKeeper JMX enabled by default |
这里输出的Mode会有一个节点是 leader,其它两个是 follower。
要停止zookeeper就运行
1 | # ./bin/zkServer.sh stop |
安装kafka
1. 下载kafka
创建目录,及下载安装包。可以到官网 https://kafka.apache.org/ 查看最新的下载地址。我这里用的是3.1.0版本。
1 | cd /usr/local |
下载成功后运行命令解压:
1 | tar -zxvf kafka_2.13-3.1.0.tgz |
进入 kafka_2.13-3.1.0 目录
1 | cd kafka_2.13-3.1.0 |
2. 编辑配置文件
1 | vi config/server.properties |
broker1
1 | broker.id=1 |
broker2
1 | broker.id=2 |
broker3
1 | broker.id=2 |
注意,上面的说明是要找到对应的配置项去修改。配置文件里其它的配置项不动就可以了。配置文件还有其它的配置。
3. 启动kafka
在三台机器上依次输入启动命令
1 | ./bin/kafka-server-start.sh -daemon config/server.properties |
如果不是很有把握可以先把上面启动命令里的 -daemon去掉。这样控制台会有日志输出。能正常启动后再加上-daemon启动。
如果需要停止kafka, 可以运行
1 | ./bin/kafka-server-stop.sh |
测试Kafka
创建topic
我们在broker1上创建一个 test-topic 主题。我们指定3个副本,一个分区
1 | ./bin/kafka-topics.sh --create --bootstrap-server 192.168.1.85:9092 --replication-factor 3 --partitions 1 --topic test-topic |
查看Topic
我们可以通过命令列出指定Broker的topic
1 | ./bin/kafka-topics.sh --list --bootstrap-server 192.168.1.85:9092 |
总结
一开始我想用 kafka自带的zookeeper来搭建集群。但是发现少了 ./bin/zkServer.sh status 这个查看状态对应的脚本。所以稳妥起见还是下载了独立的zookeeper。
走过路过的朋友,别忘了点个赞再走,您的支持是我持续创作的动力!谢谢!