Administrator
Published on 2021-10-16 / 239 Visits
0
0

kafka_2.13-3.2.0集群部署

kafka_2.13-3.2.0集群部署

安装jdk

准备三台主机,每台host配置为(可略):

192.168.19.31 node1
192.168.19.34 node2
192.168.19.35 node3

分别在每台主机下载kafka

wget https://www.apache.org/dyn/closer.cgi?path=/kafka/3.2.0/kafka_2.13-3.2.0.tgz
tar zxvf kafka_2.13-3.2.0.tgz

修改配置文件(server.properties)

  • node1
broker.id=0   #保证唯一
listeners=PLAINTEXT://node1:9092  # 配置集群时,必须设置,不然后续操作会报找不到leader的错误
zookeeper.connect=node1:2181,node2:2181,node3:2181/kafka
  • node2
broker.id=1
listeners=PLAINTEXT://node2:9092
zookeeper.connect=node1:2181,node2:2181,node3:2181/kafka
  • node3
broker.id=2
listeners=PLAINTEXT://node3:9092
zookeeper.connect=node1:2181,node2:2181,node3:2181/kafka

说明
PLAINTEXT => PLAINTEXT 不需要授权,非加密通道
SSL => SSL 使用SSL加密通道
SASL_PLAINTEXT => SASL_PLAINTEXT 使用SASL认证非加密通道
SASL_SSL => SASL_SSL 使用SASL认证并且SSL加密通道

启动

  1. 先启动zookeeper
bin/zookeeper-server-start.sh -daemon config/zookeeper.properties
  1. 再启动
bin/kafka-server-start.sh -daemon config/server.properties

测试(进入bin目录)

  1. 在node1上执行创建主题命令
./kafka-topics.sh --create --bootstrap-server node1:9092 --replication-factor 3 --partitions 1 --topic test123
  1. 在node1、node2、node3上查看主题,示例:
./kafka-topics.sh --bootstrap-server node2:9092 --list

图片-1656388155768
可以看到三台主机都有该主题了

  1. 启动消费者控制台
./kafka-console-consumer.sh --bootstrap-server node2:9092 --topic test123
  1. 启动生产者控制台,并发送消息
./kafka-console-producer.sh --bootstrap-server node3:9092 --topic test123

效果图

  • 生产者(node3)
    图片-1656388421177
  • 消费者(node2)
    图片-1656388528705

Comment