赞
踩
Kafka通过Zookeeper维护集群成员的信息。watch zk path,处理相关事件。因此需要先搭建zk集群。
请先参考 【记录】zookeeper集群搭建详细步骤 完成zookeeper集群搭建。
如果zookeeper集群已成功搭建完成,下面开始搭建kafka集群。
需要环境:
实例1 | 实例2 | 实例3 | |
---|---|---|---|
IP | 192.168.11.11 | 192.168.11.12 | 192.168.11.13 |
OS | centos7.9 | centos7.9 | centos7.9 |
zk | zookeeper-3.8.0 | zookeeper-3.8.0 | zookeeper-3.8.0 |
kafka | kafka_2.13-3.1.0 | kafka_2.13-3.1.0 | kafka_2.13-3.1.0 |
java | JDK8 | JDK8 | JDK8 |
# 工作目录
mkdir -p /usr/local/kafka
在三台实例上重复上述操作
# 下载
cd /usr/local/kafka
wget https://mirrors.tuna.tsinghua.edu.cn/apache/kafka/3.1.0/kafka_2.13-3.1.0.tgz
# 解压
tar zxf kafka_2.13-3.1.0.tgz
在三台实例上重复上述操作
实例1
cd /usr/local/kafka/kafka_2.13-3.1.0/config
vim server.properties
这里只关注且需要修改的配置项:broker.id、listeners、zookeeper.connect。
broker.id=0
listeners=PLAINTEXT://192.168.11.11:9092
zookeeper.connect=192.168.11.11:2181,192.168.11.12:2181,192.168.11.13:2181
实例2
cd /usr/local/kafka/kafka_2.13-3.1.0/config
vim server.properties
这里只关注且需要修改的配置项:broker.id、listeners、zookeeper.connect。
broker.id=1
listeners=PLAINTEXT://192.168.11.12:9092
zookeeper.connect=192.168.11.11:2181,192.168.11.12:2181,192.168.11.13:2181
实例3
cd /usr/local/kafka/kafka_2.13-3.1.0/config
vim server.properties
这里只关注且需要修改的配置项:broker.id、listeners、zookeeper.connect。
broker.id=2
listeners=PLAINTEXT://192.168.11.13:9092
zookeeper.connect=192.168.11.11:2181,192.168.11.12:2181,192.168.11.13:2181
启动kafka服务依赖zookeeper服务。 配置kafka.service之前,请确保 【记录】zookeeper集群搭建详细步骤
中zookeeper.service配置完成。 如果确定zookeeper.service配置完成,继续下述操作:
cd /lib/systemd/system/
#创建kafka服务文件
vim kafka.service
[Unit]
Description=broker(Apache Kafka server)
After=network.target zookeeper.service
[Service]
Type=simple
Environment="PATH=/usr/local/jdk1.8.0_311/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin"
User=root
Group=root
ExecStart=/usr/local/kafka/kafka_2.13-3.1.0/bin/kafka-server-start.sh /usr/local/kafka/kafka_2.13-3.1.0/config/server.properties
ExecStop=/usr/local/kafka/kafka_2.13-3.1.0/bin/kafka-server-stop.sh
Restart=on-failure
[Install]
WantedBy=multi-user.target
刷新systemctl
systemctl daemon-reload
设置kafka服务开机自启
systemctl enable kafka
启动kafka
systemctl start kafka
在三台实例上重复上述操作
关闭kafka
systemctl stop kafka
重启kafka
systemctl restart kafka
查看kafka实例状态
systemctl status kafka
创建一个Topic
/usr/local/kafka/kafka_2.13-3.1.0/bin/kafka-topics.sh --create --topic enic-test-topic --bootstrap-server 192.168.11.11:9092,192.168.11.12:9092,192.168.11.13:9092 --partitions 1 --replication-factor 1
list Topic
/usr/local/kafka/kafka_2.13-3.1.0/bin/kafka-topics.sh --list --bootstrap-server 192.168.11.11:9092,192.168.11.12:9092,192.168.11.13:9092
创建生产者
/usr/local/kafka/kafka_2.13-3.1.0/bin/kafka-console-producer.sh --broker-list 192.168.11.11:9092,192.168.11.12:9092,192.168.11.13:9092 --topic enic-test-topic
创建消费者
/usr/local/kafka/kafka_2.13-3.1.0/bin/kafka-console-consumer.sh --bootstrap-server 192.168.11.11:9092,192.168.11.12:9092,192.168.11.13:9092 --topic enic-test-topic --from-beginning
以上,kafka集群搭建完成。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。