kafka与zookeeper下载安装及kafka常用命令
一、zookeeper
1、下载
下载地址 https://zookeeper.apache.org/releases.html
2、修改配置文件及host
解压到安装路径
修改hosts
vim /etc/hosts
添加域名映射
192.168.10.200 kafka200
192.168.10.201 kafka201
192.168.10.202 kafka202
修改zoo.cfg
cd apache-zookeeper-3.7.0-bin/conf
修改zoo.cfg
修改data目录
3、启动
nohup /home/kafka/soft_install/apache-zookeeper-3.7.0-bin/bin/zkServer.sh start >> /home/kafka/soft_install/apache-zookeeper-3.7.0-bin/logs/zook.log &
使用jps查看启动情况
二、kafka
1、下载
https://kafka.apache.org/downloads
2、修改配置文件及host
进入kafka_2.12-2.8.0/config
修改以下内容
broker.id=0
port=9092
listeners = PLAINTEXT://kafka200:9092
advertised.listeners=PLAINTEXT://kafka200:9092
zookeeper.connect=kafka200:2181,kafka201:2181,kafka202:2181
#这里是集群配置,broker.id要唯一,zookeeper.connect为zookeeper地址,zookeeper与kafka用的是同一机器,所以不用配置host了
3、启动
nohup /home/kafka/soft_install/kafka_2.12-2.8.0/bin/kafka-server-start.sh /home/kafka/soft_install/kafka_2.12-2.8.0/config/server.properties >> /home/kafka/soft_install/kafka_2.12-2.8.0/logs/kafka.log &
三、kafka常用shell命令
1、创建topic
./kafka-topics.sh --create --topic topicDemo --bootstrap-server kafka200:9092
2、查看topic
./kafka-topics.sh --describe --topic topicDemo --bootstrap-server kafka200:9092
3、发送消息
./kafka-console-producer.sh --topic topicDemo --bootstrap-server kafka200:9092
4、消费消息
./kafka-console-consumer.sh --topic topicDemo --bootstrap-server kafka200:9092
5、查看topic列表
./kafka-topics.sh --list --zookeeper kafka200:2181
6、列出消费者组信息
./kafka-consumer-groups.sh --bootstrap-server kafka200:9092 --list
7、查看某个group 消费情况
./kafka-consumer-groups.sh --bootstrap-server kafka200:9092 --describe --group testGroup
8、重置group offset 为earliest
./kafka-consumer-groups.sh --bootstrap-server kafka200:9092 --group testGroup --reset-offsets --topic topicDemo --to-earliest --execute
9、重置group offset 为latest
./kafka-consumer-groups.sh --bootstrap-server kafka200:9092 --group testGroup --reset-offsets --topic topicDemo --to-latest --execute
10、从头消费
./kafka-console-consumer.sh --bootstrap-server kafka200:9092 --topic topicDemo -group testGroup1 --from-beginning
需满足两个条件
条件1, 使用一个全新的消费者组id;
条件2,指定 auto.offset.reset 为 earliest ;