1、准备环境
1.1安装jdk(省略)
2.2安装zookeeper集群(省略)
2、下载安装包并解压
# wget https://archive.apache.org/dist/kafka/1.1.0/kafka_2.11-1.1.0.tgz# tar -xzf kafka_2.11-1.1.0.tgz# cd kafka_2.11-1.1.0
3、修改配置文件 分别在128,129,130上修改
broker.id=0 每台服务器的broker.id都不能相同#hostnamehost.name=192.168.0.128#设置zookeeper的连接端口zookeeper.connect=192.168.0.128:2181,192.168.0.129:2181,192.168.0.130:2181
4、启动 三台都要启动
sh bin/kafka-server-start.sh -daemon config/server.properties
5、创建主题
sh bin/kafka-topics.sh --create --zookeeper 192.168.0.128:2181 --replication-factor 2 --partitions 1 --topic houge ##查看主题 sh bin/kafka-topics.sh --list --zookeeper 192.168.0.128:2181 ##查看主题详细信息 sh bin/kafka-topics.sh --describe --zookeeper 192.168.0.128:2181 --topic houge
6、发送消息
sh bin/kafka-console-producer.sh --broker-list 192.168.0.128:9092 --topic houge > > >
7、消费消息
##旧版 sh bin/kafka-console-consumer.sh --zookeeper 192.168.0.128:2181 --topic houge --from-beginning
##新版
sh bin/kafka-console-consumer.sh --bootstrap-server 192.168.0.128:9092 --consumer-property group.id=testGroup --consumer-property client.id=consumer-1 --topic houge
8、查看分组
sh bin/kafka-consumer-groups.sh --bootstrap-server 192.168.0.128:9092 --list --new-consumer
9、查看消费者偏移量
bin/kafka-consumer-groups.sh --bootstrap-server 192.168.0.128:9092 --describe --group testGroup
10、消费多主题
bin/kafka-console-consumer.sh --bootstrap-server 192.168.0.128:9092 --whitelist "houge|houge-2"
11、单播消息
一条消息只能被某一个消费者消费的模式,类似queue模式,只需让所有消费者在同一个消费组里即可
分别在两个客户端执行如下消费命令,然后往主题里发送消息,结果只有一个客户端能收到消息
##129 bin/kafka-console-consumer.sh --bootstrap-server 192.168.0.128:9092 --consumer-property group.id=testGroup --consumer-property client.id=consumer-1 --topic houge##130bin/kafka-console-consumer.sh --bootstrap-server 192.168.0.128:9092 --consumer-property group.id=testGroup --consumer-property client.id=consumer-2 --topic houge
12、多播消息
一条消息能被多个消费者消费的模式,类似publish-subscribe模式费,针对Kafka同一条消息只能被同一个消费组下的某一个消费者消费的特性,要实现多播只要保证这些消费者属于不同的消费组即可。我们再增加一个消费者,该消费者属于 testGroup-2消费组,结果两个客户端都能收到消息
##129bin/kafka-console-consumer.sh --bootstrap-server 192.168.0.128:9092 --consumer-property group.id=testGroup-1 --consumer-property client.id=consumer-1 --topic houge##130bin/kafka-console-consumer.sh --bootstrap-server 192.168.0.128:9092 --consumer-property group.id=testGroup-2 --consumer-property client.id=consumer-2 --topic houge