1) 上传kafka_2.10-0.8.2.2.tgz包到三个不同节点上,解压。
2) 配置../ kafka_2.10-0.8.2.2/config/server.properties文件
节点编号:(不同节点按0,1,2,3整数来配置)
broker.id=0
真实数据存储位置:
log.dirs=/var/kafka/logs
zookeeper的节点:
zookeeper.connect=node3:2181,node4:2181,node5:2181
3) 启动zookeeper集群。
4) 三个节点上,启动kafka:
bin/kafka-server-start.sh config/server.properties |
最好使用自己写的脚本启动,将启动命令写入到一个文件:
nohup bin/kafka-server-start.sh config/server.properties > kafka.log 2>&1 & (放在与bin同一级别下,注意创建后要修改权限:chmod 755 start-kafka.sh)可添加到环境变量 |
5) 相关命令:
创建topic:
./kafka-topics.sh --zookeeper node3:2181,node4:2181,node5:2181 --create --topic topic2017 --partitions 3 --replication-factor 3 |
用一台节点控制台来当kafka的生产者:
./kafka-console-producer.sh --topic topic2017 --broker-list node1:9092,node2:9092,node3:9092 |
用另一台节点控制台来当kafka的消费者:
./kafka-console-consumer.sh --zookeeper node3:2181,node4:2181,node5:2181 --topic topic2017 |
查看kafka中topic列表:
./kafka-topics.sh --list --zookeeper node3:2181,node4:2181,node5:2181 |
查看kafka中topic的描述:
./kafka-topics.sh --describe --zookeeper node3:2181,node4:2181,node5:2181 --topic topic2017 注意:ISR是检查数据的完整性有哪些个节点。 |
查看zookeeper中topic相关信息:
启动zookeeper客户端: ./zkCli.sh 查看topic相关信息: ls /brokers/topics/ 查看消费者相关信息: ls /consumers |
6) 删除kafka中的数据。
① :在kafka集群中删除topic,当前topic被标记成删除。
./kafka-topics.sh --zookeeper node3:2181,node4:2181,node5:2181 --delete --topic t1205 |
在每台broker节点上删除当前这个topic对应的真实数据。
② :进入zookeeper客户端,删除topic信息
rmr /brokers/topics/t1205 |
③ :删除zookeeper中被标记为删除的topic信息
rmr /admin/delete_topics/t1205 |