kafka集群搭建与使用

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都不能相同

#hostname
host.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 ##130 bin/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消费组,结果两个客户端都能收到消息

##129
bin/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
##130
bin/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

 

 

 

posted on 2019-05-08 11:27  那只猴子  阅读(250)  评论(0)    收藏  举报

导航