Kafka 4.0.0集群部署

Kafka 4.0.0集群部署

1.1 關(guān)閉防火墻和 selinux

關(guān)閉防火墻

systemctl stop firewalld.service
systemctl disable firewalld.service

關(guān)閉selinux

setenforce 0 #(臨時生效)
sed -i 's/^SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config #(永久生效)

1.2 檢查是否已經(jīng)安裝OpenJDK

rpm -qa|grep jdk  #如果安裝先卸載jdk

下載jdk:

官網(wǎng):https://www.oracle.com/java/technologies/javase-jdk8-downloads.html

選擇jdk版本上傳到服務(wù)器解壓,這里我用的是jdk1.8.0版本

tar -xvf jdk-24.0.1-linux-x64.tar.gz
mv /usr/local/jdk-24.0.1 /usr/local

vim  /etc/profile

export JAVA_HOME=/usr/local//usr/local/jdk-24.0.1
export PATH=$PATH:$JAVA_HOME/bin

source /etc/profile

java -version (檢查一下jdk版本查看是否安裝成功)

1.3 Kafka集群安裝

1.3.1 下載安裝包

Kafka官網(wǎng)下載:http://kafka.apache.org/downloads
或者wget,下載 https://dlcdn.apache.org/kafka/4.0.0/kafka_2.13-4.0.0.tgz

1.3.2 新建一個Kafka-cluster目錄,將安裝Kafka-cluster目錄下

cd /usr/local
mkdir kafka-cluster

1.3.3 解壓安裝包,重命名

tar zxvf kafka_2.13-4.0.0.tgz
mv kafka_2.13-4.0.0 kafka

1.3.4 修改配置文件

cd /usr/local/kafka-cluster/kafka/config/
cp server.properties kraft-server.properties
vi kraft-server.properties

node.id=1節(jié)點修改內(nèi)容如下:

node.id=1

controller.quorum.voters=1@192.168.1.151:9093,2@192.168.1.152:9093,3@192.168.1.153:9093
controller.quorum.bootstrap.servers=192.168.1.151:9093,192.168.1.152:9093,192.168.1.153:9093

listeners=PLAINTEXT://192.168.1.151:9092,CONTROLLER://192.168.1.151:9093
inter.broker.listener.name=PLAINTEXT

advertised.listeners=PLAINTEXT://192.168.1.151:9092,CONTROLLER://192.168.1.151:9093
controller.listener.names=CONTROLLER

log.dirs=/data/kafka-logs

1.3.5 其他節(jié)點配置

其他節(jié)點配置相同,除以下內(nèi)容:

node.id=2  #唯一 (確定id值是唯一)
listeners=PLAINTEXT://192.168.1.152:9092,CONTROLLER://192.168.1.152:9093  #修改為本機地址

1.3.6 啟動

cd /usr/local/kafka-cluster/kafka

在任意節(jié)點運行:

bin/kafka-storage.sh random-uuid

得到類似結(jié)果:

e3b24c36-7e24-4173-9732-bd92ad45b3ab
# 示例(node.id 為 1):
bin/kafka-storage.sh format \
  --cluster-id e3b24c36-7e24-4173-9732-bd92ad45b3ab \
  --config config/kraft-server.properties

cd /usr/local/kafka-cluster/kafka/bin
bin/kafka-server-start.sh config/server.properties
可以發(fā)現(xiàn)在窗口啟動之后是一個阻塞進程,會阻塞當(dāng)前窗口,我們可以重新打開一個窗口進行接下來的操作,或者在啟動kafka的時候使用 -daemon 參數(shù)將它聲明為守護進程后臺運行。
bin/kafka-server-start.sh  -daemon config/server.properties

到這一步kafka已經(jīng)是部署完成了

1.3.7 使用JMX監(jiān)控Kafka

vim /usr/local/kafka-cluster/kafka/bin/kafka-server-start.sh
在這個字段加入export JMX_PORT="9999"

1.3.8 Kafka自啟動設(shè)置

cd /lib/systemd/system/
vim kafka.service

添加一下內(nèi)容:

[Unit]
Description=Apache Kafka Server (KRaft mode)
After=network.target

[Service]
Type=simple
Environment="JAVA_HOME=/usr/lib/jvm/java-17-openjdk"
ExecStart=/usr/local/kafka-cluster/kafka/bin/kafka-server-start.sh /usr/local/kafka-cluster/kafka/config/kraft-server.properties
ExecStop=/usr/local/kafka-cluster/kafka/bin/kafka-server-stop.sh
Restart=on-failure
User=root
LimitNOFILE=100000

[Install]
WantedBy=multi-user.target

保存退出,刷新一下

systemctl daemon-reload
systemctl start kafka
systemctl enable kafka
systemctl status kafka

本文由博客一文多發(fā)平臺 OpenWrite 發(fā)布!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容