kafka集群搭建指北

1.前置环境

此集群为了后续搭建Kafka做准备,节点资源共用。生产环境可和Kafka分开搭建。

实例1 实例1 实例1
IP地址 192.168.2.128 192.168.2.129 192.168.2.130
OS版本 CentOS Linux release 7.9.2009 (Core) CentOS Linux release 7.9.2009 (Core) CentOS Linux release 7.9.2009 (Core)
ZK版本 zookeeper-3.8.0 zookeeper-3.8.0 zookeeper-3.8.0
Kafka版本 kafka_2.12-3.1.2 kafka_2.12-3.1.2 kafka_2.12-3.1.2
Java版本 JDK8 JDK8 JDK8
配置 4C16G,存储300GB 4C16G,存储300GB 4C16G,存储300GB

2.安装步骤

2.1 创建目录

在三台实例上重复下面的操作

# 工作目录
[root@kafka-03 ~]# mkdir -p /data

2.2 安装包

# 下载
[root@kafka-03 ~]# cd /data
[root@kafka-03 data]# wget -c 'https://mirrors.tuna.tsinghua.edu.cn/apache/kafka/3.1.2/kafka_2.12-3.1.2.tgz' -O /data/kafka_2.12-3.1.2.tgz
# 解压
 [root@kafka-03 data]# tar zxf kafka_2.12-3.1.2.tgz

2.3 配置修改

2.3.1 实例1

[root@kafka-01 data]# cd /data/kafka_2.12-3.1.2/config/
[root@kafka-01 config]# vim server.properties

这里只关注且需要修改的配置项:broker.idlistenerszookeeper.connect

broker.id=0
listeners=PLAINTEXT://192.168.2.128:9092
zookeeper.connect=kafka-01:2181,kafka-02:2181,kafka-03:2181

2.3.2 实例2

[root@kafka-02 data]# cd /data/kafka_2.12-3.1.2/config/
[root@kafka-02 config]# vim server.properties

这里只关注且需要修改的配置项:broker.idlistenerszookeeper.connect

broker.id=1
listeners=PLAINTEXT://192.168.2.129:9092
zookeeper.connect=kafka-01:2181,kafka-02:2181,kafka-03:2181

2.3.3 实例3

[root@kafka-03 data]# cd /data/kafka_2.12-3.1.2/config/
[root@kafka-03 config]# vim server.properties

这里只关注且需要修改的配置项:broker.idlistenerszookeeper.connect

broker.id=2
listeners=PLAINTEXT://192.168.2.130:9092
zookeeper.connect=kafka-01:2181,kafka-02:2181,kafka-03:2181

2.4 .配置Systemctl kafka服务

启动kafka服务依赖zookeeper服务。 配置kafka.service之前,请确保 【记录】zookeeper集群搭建详细步骤
中zookeeper.service配置完成。 如果确定zookeeper.service配置完成,继续下述操作:

[root@kafka-01 config]# vim /lib/systemd/system/kafka.service
[Unit]
Description=broker(Apache Kafka server)
After=network.target  zookeeper.service

[Service]
Type=simple
Environment="PATH=/usr/local/java/jdk8u352-b08/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin"
User=root
Group=root
ExecStart=/data/kafka_2.12-3.1.2/bin/kafka-server-start.sh /data/kafka_2.12-3.1.2/config/server.properties
ExecStop=/data/kafka_2.12-3.1.2/bin/kafka-server-stop.sh
Restart=on-failure

[Install]
WantedBy=multi-user.target
# 刷新systemctl
[root@kafka-01 config]# systemctl daemon-reload
# 设置kafka服务开机自启
[root@kafka-01 config]# systemctl enable kafka
# 启动kafka
[root@kafka-01 config]# systemctl start kafka
# 查看kafka实例状态
[root@kafka-01 config]# systemctl status kafka
# 关闭kafka
[root@kafka-01 config]# systemctl stop kafka
# 重启kafka
[root@kafka-01 config]# systemctl restart kafka

在三台实例上重复上述操作

2.5 常用命令(Testing)

创建一个Topic

[root@kafka-01 ~]# /data/kafka_2.12-3.1.2/bin/kafka-topics.sh --create --topic enic-test-topic --bootstrap-server kafka-01:9092,kafka-02:9092,kafka-03:9092 --partitions 1 --replication-factor 1

list Topic

[root@kafka-01 ~]# /data/kafka_2.12-3.1.2/bin/kafka-topics.sh --list --bootstrap-server kafka-01:9092,kafka-02:9092,kafka-03:9092

创建生产者

[root@kafka-01 ~]# /data/kafka_2.12-3.1.2/bin/kafka-console-producer.sh --broker-list kafka-01:9092,kafka-02:9092,kafka-03:9092 --topic enic-test-topic

创建消费者

[root@kafka-01 ~]# /data/kafka_2.12-3.1.2/bin/kafka-console-consumer.sh --bootstrap-server kafka-01:9092,kafka-02:9092,kafka-03:9092 --topic enic-test-topic --from-beginning

以上,kafka集群搭建完成。


kafka集群搭建指北
https://www.gmtgo.com/10621.html
作者
大帅
发布于
2022年12月4日
许可协议