Kafka之集群部署

版权声明: https://blog.csdn.net/qq_24313635/article/details/83715420

Kafka支持多种集群方式:

  • 单节点单broker集群
  • 单节点多broker集群
  • 多节点多broker集群

一、单节点单broker集群

在上篇中,我们在单台机器上部署了Kafka,现在将其设置为单节点单broker集群。架构如图所示:

①修改配置文件:

zookeeper.properties文件(先手动创建zookeeper目录)

dataDir=/opt/kafka/clusters/oneNodeoneBroker/zookeeper

server.propertis文件(先手动创建logs目录)

broker.id=0
port=9092
log.dirs=/opt/kafka/clusters/oneNodeoneBroker/logs
num.partitions=2
zookeeper.connect=192.168.37.137:2181

produce.properties

metadata.broker.list=192.168.37.137:9092

consumer.properties

metadata.broker.list=192.168.37.137:9092
group.id=test-consumer-group

②启动

先启动zookeeper

./zookeeper-server-start.sh -daemon ../config/zookeeper.properties

启动kafka broker

./kafka-server-start.sh -daemon ../config/server.properties

③使用

创建一个名为oneNodeOneBroker的topic,单partitoin且只有一个副本:

sh kafka-topics.sh --create --zookeeper 192.168.37.137:2181 --replication-factor 1 --partitions 1 --topic oneNodeOneBroker

查看topic列表:

 sh kafka-topics.sh --list --zookeeper 192.168.37.137:2181

单机连通性测试:

①启动生产者

sh kafka-console-producer.sh --broker-list 192.168.37.137:9092 --topic oneNodeOneBroker

②启动消费者

 sh kafka-console-consumer.sh --bootstrap-server 192.168.37.137:9092 --topic oneNodeOneBroker --from-beginning

在producer端输入字符串并回车,consumer端显示则表示成功。

③关闭

停止kafka broker

sh kafka-server-stop.sh

停止zookeeper

sh zookeeper-server-stop.sh

 二、单节点多broker集群

①修改配置文件:

zookeeper.properties文件(先手动创建zookeeper目录)

dataDir=/opt/kafka/clusters/oneNodeoneBroker/zookeeper

server-1.propertis文件(先手动创建logs/1目录)

broker.id=1
port=9093
log.dirs=/opt/kafka/clusters/oneNodemanyBroker/logs/1
zookeeper.connect=192.168.37.137:2181

server-2.propertis文件(先手动创建logs/2目录)

broker.id=2
port=9094
log.dirs=/opt/kafka/clusters/oneNodemanyBroker/logs/2
zookeeper.connect=192.168.37.137:2181

produce.properties

metadata.broker.list=192.168.37.137:9093,192.168.37.137:9094

consumer.properties

metadata.broker.list=192.168.37.137:9093,192.168.37.137:9094
group.id=test-consumer-group

②启动

先启动zookeeper

./zookeeper-server-start.sh -daemon ../config/zookeeper.properties

启动kafka broker

./kafka-server-start.sh -daemon ../config/server-1.properties
./kafka-server-start.sh -daemon ../config/server-2.properties

③使用

创建一个名为oneNodeManyBroker的topic,单partitoin且只有一个副本:

sh kafka-topics.sh --create --zookeeper 192.168.37.137:2181 --replication-factor 1 --partitions 1 --topic oneNodeManyBroker

查看topic列表:

 sh kafka-topics.sh --list --zookeeper 192.168.37.137:2181

单机连通性测试:

①启动生产者

sh kafka-console-producer.sh --broker-list 192.168.37.137:9093,192.168.37.137:9094 --topic oneNodeManyBroker

②启动消费者

 sh kafka-console-consumer.sh --bootstrap-server 192.168.37.137:9093,192.168.37.137:9094 --topic oneNodeManyBroker --from-beginning

在producer端输入字符串并回车,consumer端显示则表示成功。

③关闭

停止kafka broker

sh kafka-server-stop.sh

停止zookeeper

sh zookeeper-server-stop.sh

多节点多broker集群 

在多节点多broker集群中,每个节点都需要安装Kafka,且所有的broker都连接到同一个ZooKeeper

猜你喜欢

转载自blog.csdn.net/qq_24313635/article/details/83715420