准备好三台linux服务并在三台服务上安装好JDK、zookeeper如果没有安装可以参考如下博客
https://blog.youkuaiyun.com/qq_39381529/article/details/106528766
一、准备好kafka的解压包
下载地址http://kafka.apache.org/downloads.html
如果不知道怎么下载和安装单机的kafka可以参考
https://blog.youkuaiyun.com/qq_39381529/article/details/106593325
二、下载完成后并解压kafka
我这边先用一台服务做演示,后面两台一样安装就行
三台服务器上进行时钟同步,防止时间不一致导致安装不成功
命令:yum install ntp -y
执行时间同步命令
命令:ntpdate ntp1.aliyun.com
命令:clock -w
1、解压kafka
解压命令:tar -zxvf kafka_2.11-2.2.0.tgz
2、在kafka根目录上创建data文件主要是存放日志的
3、配置broker.id、listeners信息
broker.id设置为唯一(三台设备上的 broker.id必须不同),我这边三台服务配置的是1,2,3
其中node1是服务的名称可以在etc/hostname下进行修改
vi hostname
vi hosts(在etc目录下)
4、配置log.dirs=/kafka/kafka_2.11-2.2.0/data/kafka-logs
5、配置zookeeper信息(可以配置成端口号)
6、测试安装结果
partitions :分区数
replication-factor:指定partition的replicas数(副本因子)
6-1、创建tiopic命令:./bin/kafka-topics.sh --bootstrap-server node1:9092,node2:9092,node3:9092 --create --topic topic01 --partitions 3 --replication-factor 2
6-2、查看集群当中创建的topic
命令:./bin/kafka-topics.sh --bootstrap-server node1:9092,node2:9092,node3:9092 --list
6-3、删除topic
命令:./bin/kafka-topics.sh --bootstrap-server node1:9092,node2:9092,node3:9092 --delete --topic topic1
6-4、修改topic分区数
命令:./bin/kafka-topics.sh --bootstrap-server node1:9092,node2:9092,node3:9092 --alter --topic topic03 --partitions 2
查看topic详情:./bin/kafka-topics.sh --bootstrap-server node1:9092,node2:9092,node3:9092 --describe --topic topic01
6-5、创建消费者
命令:./bin/kafka-console-consumer.sh --bootstrap-server node1:9092,node2:9092,node3:9092 --topic topic01 --group g1
后面也可以加上打印key、value的信息以及分割的信息
--property print.key=true
--property print.value=true
--property key.separator=,
6-6、创建生产者
命令:./bin/kafka-console-producer.sh --broker-list node1:9092,node2:9092,node3:9092 --topic topic01
6-7、在生产者窗口输入信息看消费者窗口是否能进行消费
生产者窗口:
消费者窗口:
6-8、查看消费组的信息
命令:./bin/kafka-consumer-groups.sh --bootstrap-server node1:9092,node2:9092,node3:9092 --list
命令:./bin/kafka-consumer-groups.sh --bootstrap-server node1:9092,node2:9092,node3:9092 --describe --group g1
备注:后面会追加实际的使用