需要安装 jdk8 的环境
关闭防火墙: systemctl stop firewalld.service
==================================安装 zookeeper
解压 zookeeper-3.4.14.tar.gz
将 zookeeper-3.4.14 重命名为 zookeeper
进入 zookeeper 的 conf 目录下
将 zoo_sample.cfg 重命名为 zoo.cfg
修改zoo.cfg文件,在最后面添加
server.0=192.168.144.169:2888:3888
server.1=192.168.144.170:2888:3888
server.2=192.168.144.171:2888:3888
ps : 注意修改集群的 IP 地址
然后修改 dataDir 的路径
然后保存退出
在 zookeeper 目录创建 data 文件夹 , 并进入 data 目录下
在 data 目录下创建 myid 文件, 内容为 0
修改 /usr/kafka/zookeeper/conf 下的 zoo.cfg
保存 退出
============================= 安装kafka
解压 kafka_2.13-2.4.0.tgz
重命名 kafka_2.13-2.4.0 为 kafaka
进入 kafka 的 config 文件夹
修改 server.properties中的
listeners=PLAINTEXT://192.168.144.169:9092
zookeeper.connect=192.168.144.169:2181,192.168.144.170:2181,192.168.144.171:2181
克隆出两台服务器,修改 ip 地址 , 现在就是3 台服务器 , IP地址分别为:192.168.144.169、 192.168.144.170、192.168.144.171
分别启动这3台服务器
然后关闭3台服务器的防火墙 : systemctl stop firewalld.service
修改另外两台服务器 /usr/kafka/zookeeper/data 路径下的 myid 文件的值
启动zookeeper,看到报错了,这是因为我搭了3台服务器集群,至少需要启动一半的服务器zookeeper,所以也就是最少要启动2台服务器的zookeeper
我分别把另外两台服务器的zookeeper也启动起来,然后他们3台服务器之间会自动选举
出现下面这3张图的效果,就说明zookeeper的集群环境搭建好了
============================================kafka
进入kafka 的 config 文件夹里
分别修改三个服务器里的 server.properties 文件
三台服务器同时启动 kafka
查看 kafka 是否启动了 : ps aux | grep 'kafka'
出现下面图片就成功了
以上就是搭建集群kafka
===================================================以下是学习内容,kafka发送消息,消费消息
详细参照官网即可
http://kafka.apachecn.org/quickstart.html
在 192.168.144.169 端发送一个消息,这个时候 192.168.144.170 端会接收这个消息
=============================kafka集群实现分区存放不同节点=========================
bin
/kafka-topics
.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic
test
因为刚才在 192.168.144.169 创建了主题-- topic test,partitions 设置为 1 ,所以就只存在了
192.168.144.169这个节点了
zookeeper 工具上只看到了一个节点
其他的节点上并没有 test 这个主题
再次设置下主题--partitions 3 --topic zhangsan ,这样就可以看到分区存放到不同的节点了:
bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 3 --topic zhangsan