一、解压并安装
tar -zxvf /home/sxp/soft_packages/kafka_2.11-2.1.0.tgz -C /usr/softwares/
二、修改配置文件 kafka_2.11-2.1.0/config/server.properties
broker.id=2 每个节点不同
log.retention.hours=168
message.max.byte=5242880
default.replication.factor=2
replica.fetch.max.bytes=5242880
zookeeper.connect=master:2181,slave1:2181,slave2:2181
三、复制到其它节点
scp -r zookeeper-3.4.11/ root@slave1:/usr/software/
四、启动Zookeeper,并查看其状态
zookeeper-3.4.11/bin/zkServer.sh start
zookeeper-3.4.11/bin/zkServer.sh status
五、启动kafka的两种方式
1、前台启动
kafka_2.11-2.1.0/bin/kafka-server-start.sh kafka_2.11-2.1.0/config/server.properties
2、后台启动
kafka_2.11-2.1.0/bin/kafka-server-start.sh kafka_2.11-2.1.0/config/server.properties &
注:&表示后台启动,但是当有数据进入kafka时还会前台打印
六、如何生产和消费消息
1、创建一个topic first
kafka_2.11-2.1.0/bin/kafka-topics.sh --create --zookeeper master:2181
--partitions 2 --replication-factor 2 --topic first
2、列出已创建的topic列表
kafka_2.11-2.1.0/bin/kafka-topics.sh --list --zookeeper master:2181
3、模拟客户端去发送消息
(1)、node1开启生产者:
kafka_2.11-2.1.0/bin/kafka-console-producer.sh --broker-list master:9092 --topic first
(2)、node1开启消费者,查看队列
a、从开始到结束所有的消息
kafka_2.11-2.1.0/bin/kafka-console-consumer.sh --bootstrap-server
master:9092 --topic first --from-beginning
b、从当前offset开始接受消息
kafka_2.11-2.1.0/bin/kafka-console-consumer.sh --bootstrap-server
master:9092 --topic first
(3)查看topic描述信息
kafka_2.11-2.1.0/bin/kafka-topics.sh --zookeeper master:2181 --describe topic first
结果
Topic: first Partition: 0 Leader: 0 Replicas: 0,1 Isr: 0,1
Topic: first Partition: 1 Leader: 1 Replicas: 1,2 Isr: 1,2
注意:Isr 作用是在leader partition挂掉之后,从副本中选择一个来代替leader,排序靠前的作为备选leader
(4)、删除topic
kafka_2.11-2.1.0/bin/kafka-topics.sh --delete --zookeeper master:2181 --topic first
注意:存在显示bug:Topic first is marked for deletion.
Note: This will have no impact if delete.topic.enable is not set to true.