需要三台虚拟机,需要事先安装配置zookeeper
安装教程:
集群上Zookeeper服务的搭建_EEEurekaaa!的博客-优快云博客
与文中内容不同的是zookeeper中三台虚拟机名分别为hadoop1,hadoop2,hadoop3
而本文Kafka配置教程中,三台虚拟机名分别为node1,node2,node3
这本质都是一样的,只是名字不同,只需要修改名字,端口号等不需要改动。
Kafka配置
下载kafka文件
上传集群
解压
tar -xzvf kafka_2.12-3.0.0.tgz -C /export/servers/
配置环境变量
配置kafka
在kafka文件夹下创建logs文件夹
Kafka文件下的config/server.properties
分发
再修改各个主机上的 broker.id 及listeners
Node2
Node3
启动
kafka-server-start.sh -daemon /export/servers/kafka_2.12-3.0.0/config/server.properties
-daemon表示在后台启动
成功。
停止: kafka-server-stop.sh
需要注意的是,启动停止都需要在Kafka的bin目录下
创建主题信息
创建前三台虚拟机都要启动kafka
新版本的kafka,已经不需要依赖zookeeper来创建topic
所以使用如下创建命令:
kafka-topics.sh --create --bootstrap-server node1:9092 --replication-factor 3 --partitions 3 --topic test
查看主题信息
kafka-topics.sh --list --bootstrap-server node1:9092
向kafka的主题写入数据内容并观察
先在随便一台虚拟机上启动消费者
kafka-console-consumer.sh --bootstrap-server node1:9092 --topic test
然后在node1上启动生产者
kafka-console-producer.sh --broker-list node1:9092 --topic test
输入数据
用消费者查看
查看topic信息理解kafka分区
kafka-topics.sh --describe --bootstrap-server node1:9092 --topic test