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.id
、listeners
、zookeeper.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.id
、listeners
、zookeeper.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.id
、listeners
、zookeeper.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