文章目录
- 1 Kafka集群
- 2 搭建两台服务器
- 2.1 zookeeper部署
- 2.2 启动1号机器的broker
- 2.3 启动2号机器的broker
- 2.4 查看kafka集群
- 2.5 测试集群
1 Kafka集群
2 搭建两台服务器
2.1 zookeeper部署
zookeeper先只部署一台,在1号机器(192.168.11.59)上启动zookeeper。
sh zookeeper-server-start.sh -daemon ../config/zookeeper.properties
2.2 启动1号机器的broker
(1)修改server.properties(在config目录)。
broker.id=0
zookeeper.connect=192.168.11.59:2181
修改broker.id(也可以改为-1,自动分配)和配置对应的zookeeper ip地址。
(2)启动kafka。
sh kafka-server-start.sh -daemon ../config/server.properties
默认端口为:9092,可以通过命令lsof -i:9092查看kafka是否启动成功。
2.3 启动2号机器的broker
除server.properties中broker.id=1与1号机器不同之外其他都一样。
2.4 查看kafka集群
(1)创建主题。
sh kafka-topics.sh --create --zookeeper 192.168.11.59:2181 -replication-factor 2 --partitions 2 --topic kafka-2
(2)查看主题。
sh kafka-topics.sh --describe --zookeeper 192.168.11.59:2181 --topic kafka-2
显示消息:
Topic:kafka-2 PartitionCount:2 ReplicationFactor:2 Configs:Topic: kafka-2 Partition: 0 Leader: 1 Replicas: 1,0 Isr: 1,0Topic: kafka-2 Partition: 1 Leader: 0 Replicas: 0,1 Isr: 0
2.5 测试集群
开启一个生产者,两个消费者。当两个消费者同属一个消费组开启后,消费者轮流收到发送者的数据。
(1)生产者:
sh kafka-console-producer.sh --broker-list 192.168.11.59:9092 --topic kafka-2
(2)消费者:
sh kafka-console-consumer.sh --bootstrap-server 192.168.11.59:9092 --topic kafka-2
默认是group 0,也可以指定,比如:
sh kafka-console-consumer.sh --bootstrap-server 192.168.31.249:9092 --topic kafka-2 --group 0 --from-beginning
kafka-console-consumer.sh部分支持的参数: