kafka集群安装

kafka是分布式的,需要多台机器,并且保证机器之间是免密登录,同时需要用zookeeper集群负责管理

1、kafka版本选择,从官网下载即可,我这里用的是 kafka_2.11-0.11.0.3.tgz

2、brokers节点分配,注意一定是奇数台节点

3、解压并软链

tar -zxvf /software/kafka_2.11-0.11.0.3.tgz
ln -sf kafka_2.11-0.11.0.3/ kafka

 

4、配置server.properties

vim /software/kafka/config/server.properties
修改如下内容
broker.id=0     注意:这里要唯一的Integer类型
port=9092      kafka写入数据的端口
log.dirs=/opt/data/kafka-logs  真实数据存储的位置
zookeeper.connect=node1:2181,node2:2181,node3:2181  zookeeper集群

 

5、节点保持一致

将kafka整个文件分发到其他节点或者其他方式保证配置一致(除broker.id)
其他节点的server.properties的broker.id
顺序分别为1,2等等

 

6、可以创建一个kafka集群启动脚本

在每台节点某个路径下创建startKafka.sh脚本
vim startKafka.sh 
内容如下
nohup bin/kafka-server-start.sh config/server.properties > kafkalog.txt 2>&1 &
注意:以上路径可以写全路径,可以在不同路径中,写全路径中执行startKafak.sh
chmod +x ./startKafka.sh 修改权限

在每台节点中启动Kafka,/software/kafka/startKafka.sh

jps查看kafka是否启动,jps有kafka进程就可以

 

7、启动

先启动zk集群,然后执行编写的kafka启动脚本
kafka查看全部topic/创建

...路径/kafka/bin/kafka-topics.sh --zookeeper node1:2181,node2:2181,node3:2181 --list/create

kafka详细查看某个topic
...路径/kafka/bin/kafka-topics.sh  --describe --zookeeper node1:2181,node2:2181,node3:2181 --topic topic_name

kafka命令消费 
...路径/kafka/bin/kafka-console-consumer.sh --bootstrap-server node1:9092,node2:9092,node3:9092 --from-beginning --topic topic_name

...路径/kafka/bin/kafka-console-consumer.sh --bootstrap-server node1:9092,node2:9092,node3:9092 --topic topic_name --offset latest  --partition 0 | grep fl_appid

消费组,查看
...路径/kafka/bin/kafka-consumer-groups.sh --bootstrap-server node1:9092,node2:9092,node3:9092 --group topic_name --describe

 

原文地址:https://www.cnblogs.com/lrxvx/p/13549314.html