服务器环境准备
使用vm虚拟三个linux主机:192.168.128.139,192.168.128.140,192.168.128.141
Zookeeper集群环境搭建
1.每台服务器节点上安装jdk1.8环境
使用java version命令测试
2.每台服务器节点上安装Zookeeper
参考https://blog.csdn.net/qq_38270106/article/details/83715563
3.每台虚拟机均进行以下操作:
解压下载好的kafka压缩包并重命名
cd /usr/local
wget http://mirror.bit.edu.cn/apache/kafka/1.0.0/kafka_2.11-1.0.0.tgz
tar -zxvf kafka_2.11-1.0.0.tgz
mv kafka_2.11-1.0.0 kafka
修改配置文件
vi /usr/local/kafka/config/server.properties
192.168.128.139需要修改的内容如下
broker.id=0
listeners=PLAINTEXT://192.168.128.139:9092
zookeeper.connect=192.168.128.139:2181,192.168.128.140:2181,192.168.128.141:2181
192.168.128.140需要修改的内容如下
broker.id=1
listeners=PLAINTEXT://192.168.128.140:9092
zookeeper.connect=192.168.128.139:2181,192.168.128.140:2181,192.168.128.141:2181
192.168.128.141需要修改的内容如下
broker.id=2
listeners=PLAINTEXT://192.168.128.141:9092
zookeeper.connect=192.168.128.139:2181,192.168.128.140:2181,192.168.128.141:2181
在系统环境中配置kafka的路径
vi /etc/profile
export KAFKA_HOME=/usr/local/kafka
# 多路径PATH写法为PATH=${ZOOKEEPER_HOME}/bin:${KAFKA_HOME}/bin:$PATH
PATH=${KAFKA_HOME}/bin:$PATH
export PATH
使修改完的环境变量生效
source /etc/profile
Kafka集群环境测试
1、开启3台虚拟机的zookeeper程序
/usr/local/zookeeper/bin/zkServer.sh start
开启成功后查看zookeeper集群的状态
/usr/local/zookeeper/bin/zkServer.sh status
出现Mode:follower或是Mode:leader则代表成功
2、在后台开启3台虚拟机的kafka程序
cd /usr/local/kafka
./bin/kafka-server-start.sh -daemon config/server.properties
3、在其中一台虚拟机(192.168.128.139)创建名为“test”的topic,它有一个分区和一个副本
/usr/local/kafka/bin/kafka-topics.sh --create --zookeeper 192.168.128.139:2181 --replication-factor 1 --partitions 1 --topic test
创建三个分区
/usr/local/kafka/bin/kafka-topics.sh --create --zookeeper 192.168.128.139:2181 --replication-factor 1 --partitions 3 --topic test-all
查看topic列表
/usr/local/kafka/bin/kafka-topics.sh --list --zookeeper 192.168.128.139:2181
4、Kafka自带一个命令行客户端,它从文件或标准输入中获取输入,并将其作为message(消息)发送到Kafka集群。默认情况下,每行将作为单独的message发送。
运行 producer,然后在控制台输入一些消息以发送到服务器。
cd /usr/local/kafka/
bin/kafka-console-producer.sh --broker-list 192.168.128.139:9092 --topic test
5、 启动Consumer
cd /usr/local/kafka/
bin/kafka-console-consumer.sh --bootstrap-server 192.168.128.140:9092 --topic test --from-beginning