1.下载解压缩Kafka(在node1上)
2、修改.bash_profile文件,增加相应的环境变量,并使环境变量生效;
export KAFKA_HOME=/opt/software/kafka_2.11-0.11.0.2
export PATH=$PATH:$KAFKA_HOME/bin:
source /etc/profile
3、修改配置文件$KAFKA_HOME/config,修改配置:
# consumer.properties
zookeeper.connect=node1:2181,node2:2181,node3:2181/kafka0.11
# server.properties
broker.id=1
# 不是存放日志,不要被名字误导。而是kafka持久化数据存储的路径,可指定多个,以逗号分隔
log.dirs=/opt/modules/kafka_2.11-0.11.0.2/data
num.partitions=3
zookeeper.connect=node1:2181,node2:2181,node3:2181/kafka0.11
# 真正删除主题
delete.topic.enable=true
4、将软件分发到各节点(node2、node3)
scp -r kafka_2.11-0.11.0.2 node2:/opt/module/
scp -r kafka_2.11-0.11.0.2 node3:/opt/module/
5.修改: 环境变量 同第二步
6.修改 broker.id(分别改为2、3)
7.分别启动各机器上的 Kafka 进程 kafka-server-start.sh -daemon $KAFKA_HOME/config/server.properties 使用jps可以看见kafka进程,这个进程就是broker
备注:data目录 kafka 将自动创建
----------------------------------------安装OK后可继续第8步----------------------------------------------------------------
8.创建topic
8.1创建topic # replication-factor表示该topic需要在不同的broker中保存几份 # replication-factor必须小于等于 broker 的个数 kafka-topics.sh --zookeeper node3:2181/kafka0.11 --create --topic mykafka1 --partitions 3 --replication-factor 2
8.2
# 列出全部的topic
kafka-topics.sh --zookeeper node3:2181/kafka0.11 --list
# 查看topic的状态
kafka-topics.sh --zookeeper node3:2181/kafka0.11 --describe --topic mykafka1
备注:--zookeeper node3:2181/kafka0.11 必须指明
ISR(In-Sync Replicas)副本同步队列
9.创建生产者
kafka-console-producer.sh --broker-list node1:9092,node2:9092,node3:9092 --topic mykafka1
并输入一些信息:xxx yyy zzz
10.创建消费者
kafka-console-consumer.sh --bootstrap-server node1:9092,node2:9092,node3:9092 --topic mykafka1
# 旧版本的命令(高版本中将被废弃)
kafka-console-consumer.sh --zookeeper node1:2181,node2:2181,node3:2181/kafka0.11 --topic mykafka1
11.查询 topic 的所有记录数
kafka-run-class.sh kafka.tools.GetOffsetShell --topic mykafka1 --broker-list node1:9092,node2:9092,node3:9092
# 查询 topic 在分区上的记录数
kafka-run-class.sh kafka.tools.GetOffsetShell --topic mykafka1 --broker-list node1:9092,node2:9092,node3:9092 --partitions 0
12.查询 topic 的消费者情况
kafka-consumer-groups.sh --bootstrap-server node1:9092,node2:9092,node3:9092 --describe --group 1