1、 集群服务器准备
准备2台虚拟机,192.168.2.131和192.168.2.130,下载kafka的tar压缩包分别解压到两台虚拟指定的目录,本次示例放到如图目录下
2、server.properties配置
进入kafka_2.11-2.2.1/config/下,配置 server.properties
输入以下配置
#broker的全局唯一编号,不能重复
broker.id=0
#删除topic功能使能
delete.topic.enable=true
#处理网络请求的线程数量
num.network.threads=3
#用来处理磁盘IO的现成数量
num.io.threads=8
#发送套接字的缓冲区大小
socket.send.buffer.bytes=102400
#接收套接字的缓冲区大小
socket.receive.buffer.bytes=102400
#请求套接字的缓冲区大小
socket.request.max.bytes=104857600
#kafka运行日志存放的路径
log.dirs=/opt/module/kafka/logs
#topic在当前broker上的分区个数
num.partitions=1
#用来恢复和清理data下数据的线程数量
num.recovery.threads.per.data.dir=1
#配置zookeeper
zookeeper.connect=192.168.2.131:2181,192.168.2.130:2181
broker.id将192.168.2.131配置为0,将192.168.2.130配置为1
3、启动kafka集群
kafka依赖zookeeper,在启动kafka之前要先启动相应结点的zookeeper
(1)kafka_2.11-2.2.1/bin/kafka-server-start.sh kafka_2.11-2.2.1/config/server.properties
(2)创建topic
创建一个名称为testdemo的topic
kafka_2.11-2.2.1/bin/kafka-topics.sh --zookeeper 192.168.2.131:2181 --create --replication-factor 1 --partitions 1 --topic testdemo
参数说明 --topic 定义topic名 --replication-factor 定义副本 --partitions 定义分区数
(3)查看topic
查询所有kafka_2.11-2.2.1/bin/kafka-topics.sh --zookeeper 192.168.2.131:2181 --list
查询指定
kafka_2.11-2.2.1/bin/kafka-topics.sh --zookeeper 192.168.2.131:2181 --describe --topic testdemo
(4)删除topic
kafka_2.11-2.2.1/bin/kafka-topics.sh --zookeeper 192.168.2.131:2181 --delete --topic testdemo
(5)消息生产
kafka_2.11-2.2.1/bin/kafka-console-producer.sh --broker-list 192.168.2.131:9092 --topic testdemo HELLOWORDKAFKA
(6)消息消费
kafka_2.11-2.2.1/bin/kafka-console-consumer.sh --bootstrap-server 92.168.2.131:9092 --from-beginning --topic testdemo
4、停止kafka集群
kafka_2.11-2.2.1/bin/kafka-server-stop.sh