首先你的节点上需安装zookeeper并启动zookeeper服务。
好吧,让我们先安装配置zookeeper
1.解压zookeeper压缩包。本人使用的版本为zookeeper-3.4.5-cdh5.14.2.tar.gz
tar -zxf zookeeper-3.4.5-cdh5.14.2.tar.gz -C /opt/software
2.重命名zookeeper。
mv zookeeper-3.4.5-cdh5.14.2.tar.gz/ zookeeper345
3.切换至zookeeper345/conf下,
cd zookeeper345/conf/
4.复制zoo_sample.cfg为zoo.cfg
cp zoo_sample.cfg zoo.cfg
5.编辑zoo.cfg
vi zoo.cfg
dataDir=/opt/software/zookeeper345/zkData
server.1=192.168.21.130:2888:3888
5.配置zookeeper的环境变量
vi /etc/profile.d/my.sh
export ZOOKEEPER_HOME=/opt/software/zookeeper345
export PATH=$PATH:$ZOOKEEPER_HOME/bin:$ZOOKEEPER_HOME/sbin
6.激活环境变量
source /etc/profile
7.启动zookeeper服务
zkServer.sh start
下面开始配置kafka
1.解压kafka压缩包。本人使用的版本为kafka_2.11-2.0.0.tgz
tar -zxf kafka_2.11-2.0.0.tgz -C /opt/software
2.重命名kafka。
mv kafka_2.11-2.0.0 kafka211
3.切换至kafka211/config下,编辑server.properties文件
cd /opt/software/kafka211/config
vi server.properties
listeners=PLAINTEXT://192.168.21.130:9092
log.dirs=/opt/software/kafka211/kafka-logs
zookeeper.connect=192.168.21.130:2181
delete.topic.enable=true //自动删除topic,这个在生产环境中不建议写
4.配置kafka环境变量
vi /etc/profile.d/my.sh
export KAFKA_HOME=/opt/software/kafka211
export PATH=$PATH:$KAFKA_HOME/bin
5.激活环境变量
source /etc/profile
6.启动kafka服务:
kafka-server-start.sh /opt/software/kafka211/config/server.properties
下面列举出kafka一些常用的命令:
1.创建一个消息主队列:
kafka-topics.sh --create --topic mydemo --zookeeper 192.168.21.130:2181 --replication-factor 1 --partitions 1
2.查看消息队列列表:
kafka-topics.sh --zookeeper 192.168.21.130:2181 --list
3.生产者生产数据:
kafka-console-producer.sh --topic mydemo --broker-list 192.168.21.130:9092
4.消费者消费数据从头开始:
kafka-console-consumer.sh --bootstrap-server 192.168.21.130:9092 --from-beginning --topic mydemo
5.删除一个消息主题:
kafka-topics.sh --zookeeper 192.168.21.130:2181 --delete --topic mydemo
号外:
如果没有在配置文件中设置自动删除消息主题,采取手动删除的话,需要先执行 上述删除命令,然后去kafka211/kafka-logs下删除该主题的__consumer_offset_x,然后再去zookeeper的远程连接(命令:zkCli.sh -server 192.168.21.130:2181)中,执行 rmr __consumer_offset。
6.重置游标,也就是让主题中的偏移量回归为0.
kafka-consumer-groups.sh --bootstrap-server 192.168.21.130:9092 --group alisa --reset-offsets --all-topics --to-earliest --execute
7.查看主题的偏移量:
kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list single:9092 --topic mydemo --time -1