偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Zookeeper+Kafka 高可用集群部署【保姆級教程】

運(yùn)維
今天分享一下如何搭建一套zookeeper+Kafka的消息隊(duì)列集群。雖然Kafka在新版本已經(jīng)可以不通過zookeeper就可以實(shí)現(xiàn)高可用,但是企業(yè)中大多數(shù)還是zookeeper+Kafka這個黃金搭配。

Kafka 是一個消息隊(duì)列中間件,它可以結(jié)合 Flink、Spark、ELK、日志采集 等,構(gòu)建強(qiáng)大的實(shí)時數(shù)據(jù)處理平臺。

今天分享一下如何搭建一套zookeeper+Kafka的消息隊(duì)列集群。雖然Kafka在新版本已經(jīng)可以不通過zookeeper就可以實(shí)現(xiàn)高可用,但是企業(yè)中大多數(shù)還是zookeeper+Kafka這個黃金搭配。理論型的知識后續(xù)再展開講解,先將集群部署起來。

篇幅稍長,建議先收藏!

一、基礎(chǔ)環(huán)境準(zhǔn)備

1. 服務(wù)器規(guī)劃

建議準(zhǔn)備 3 臺服務(wù)器,做一個高可用集群。

節(jié)點(diǎn)

IP

角色

操作系統(tǒng)

node1

10.0.0.190

Zookeeper + Kafka

RockyLinux 9.5

node2

10.0.0.191

Zookeeper + Kafka

RockyLinux 9.5

node3

10.0.0.192

Zookeeper + Kafka

RockyLinux 9.5

2. 環(huán)境依賴

三臺都需要操作:

(1) 修改主機(jī)名

# 節(jié)點(diǎn)1
hostnamectl set-hostname node1

# 節(jié)點(diǎn)2
hostnamectl set-hostname node2

# 節(jié)點(diǎn)3 
hostnamectl set-hostname node3

(2) 安裝 JDK 1.8+

下載jdk包:https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html

也可以直接yum安裝openjdk,更快速一點(diǎn)

# 將下載上傳三個服務(wù)器后解壓到/data盤
tar -xvf jdk-8u461-linux-x64.tar.gz  -C /data

配置環(huán)境變量:

vi /etc/profile

在文件末尾添加下面內(nèi)容:

export JAVA_HOME=/data/jdk1.8.0_461
export JAVA_BIN=$JAVA_HOME/bin
export CLASSPATH=:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_BIN

讓配置生效:

source  /etc/profile

(3) 關(guān)閉防火墻

測試環(huán)境可關(guān)閉,生產(chǎn)需開放端口。

systemctl stop firewalld
systemctl disable firewalld

(4) 配置主機(jī)名解析

cat >> /etc/hosts <<EOF
10.0.0.190 node1
10.0.0.191 node2
10.0.0.192 node3
EOF

(5) 關(guān)閉SELinux

# 永久關(guān)閉
sed -i 's/enforcing/disabled/' /etc/selinux/config  

# 臨時
setenforce 0

二、部署 Zookeeper 集群

Kafka 依賴 Zookeeper 管理集群狀態(tài),所以需要先安裝 Zookeeper。可以先在一個節(jié)點(diǎn)下載,配置完復(fù)制過去就行

1. 下載并解壓(節(jié)點(diǎn)1操作)

# 下載,可以選擇合適的版本下載
wget https://downloads.apache.org/zookeeper/zookeeper-3.8.4/apache-zookeeper-3.8.4-bin.tar.gz

# 解壓
tar -xvf apache-zookeeper-3.8.4-bin.tar.gz -C /data

2. 配置 zoo.cfg

# 進(jìn)入配置文件目錄
cd /data/apache-zookeeper-3.8.4-bin/conf

# 復(fù)制參考配置文件
cp zoo_sample.cfg zoo.cfg

# 修改配置文件,主要修改下面兩項(xiàng)
dataDir=/data/zookeeper/data
server.1=node1:2888:3888
server.2=node2:2888:3888
server.3=node3:2888:3888

參數(shù)解析:

  • dataDir:存儲快照和 myid 文件的路徑。
  • server.X:集群成員配置,其中
  • 2888 端口:內(nèi)部通信端口, 與 Leader 通信
  • 3888 端口:用于選舉 Leader

3. 拷貝到另外兩個節(jié)點(diǎn)

scp -r /data/apache-zookeeper-3.8.4-bin root@10.0.0.191:/data
scp -r /data/apache-zookeeper-3.8.4-bin root@10.0.0.192:/data

4. 配置節(jié)點(diǎn) ID

# 每個節(jié)點(diǎn)新建文件夾
mkdir -p /data/zookeeper/data

# 節(jié)點(diǎn)1
echo 1 > /data/zookeeper/data/myid 

# 節(jié)點(diǎn)2
echo 2 > /data/zookeeper/data/myid

# 節(jié)點(diǎn)3
echo 3 > /data/zookeeper/data/myid

5.  配置環(huán)境變量

將zookeeper加入環(huán)境變量,方便后期啟動。

vi /etc/profile 

# 尾部添加
export ZOOKEEPER_HOME=/data/apache-zookeeper-3.8.4-bin
export PATH=$ZOOKEEPER_HOME/bin:$PATH

# 使配置文件生效
source /etc/profile

6. 啟動 Zookeeper

zkServer.sh start
zkServer.sh status

確認(rèn) 3 臺機(jī)器都正常啟動,其中兩臺為fllower,一臺為leader,則zookeeper集群安裝成功。

三、部署 Kafka 集群

1. 下載并解壓

跟zookeeper一樣,在節(jié)點(diǎn)1先下載,配置完復(fù)制到另外兩個節(jié)點(diǎn)

# 下載安裝包
wget https://downloads.apache.org/kafka/3.9.1/kafka_2.13-3.9.1.tgz

# 解壓到/data目錄
tar -xvf kafka_2.13-3.9.1.tgz -C /data

2. 修改配置文件

進(jìn)入到安裝目錄,編輯配置文件server.properties

cd /data/kafka_2.13-3.9.1/config
vi server.properties

修改下面信息

broker.id=1                   # 不得重復(fù),整個集群中唯一
listeners=PLAINTEXT://10.0.0.190:9092   # 監(jiān)聽端口
log.dirs=/data/kafka/logs
zookeeper.cnotallow=node1:2181,node2:2181,node3:2181
num.partitinotallow=3

參數(shù)解析:

  • broker.id:Kafka Broker 唯一 ID。node1=1, node2=2, node3=3。
  • listeners:服務(wù)監(jiān)聽地址和端口。需要換成真實(shí)的IP地址,每個節(jié)點(diǎn)填本機(jī)IP地址
  • log.dirs:存儲 Kafka 消息日志的目錄。建議掛載大容量磁盤。
  • num.partitions:Topic 默認(rèn)分區(qū)數(shù),決定并行消費(fèi)能力。
  • zookeeper.connect:連接zookeeper。

3. 配置拷貝到另外兩個節(jié)點(diǎn)

scp -r /data/kafka_2.13-3.9.1 root@10.0.0.191:/data
scp -r /data/kafka_2.13-3.9.1 root@10.0.0.192:/data

注意:節(jié)點(diǎn)2和節(jié)點(diǎn)3需要修改broker.id和linsteners兩個配置

新建日志目錄(每個節(jié)點(diǎn)操作)

mkdir -p /data/kafka/logs

4. 配置環(huán)境變量

將kafka加入環(huán)境變量,方便后期啟動。三個節(jié)點(diǎn)都配置。

vi /etc/profile 

# 尾部添加
export KAFKA_HOME=/data/kafka_2.13-3.9.1
export PATH=$KAFKA_HOME/bin:$PATH

# 使配置文件生效
source /etc/profile

5. 啟動 Kafka

kafka-server-start.sh -daemon /data/kafka_2.13-3.9.1/config/server.properties

三臺機(jī)器依次啟動 Kafka??梢钥吹絢afka進(jìn)程已正常啟動。

四、測試驗(yàn)證

1. 創(chuàng)建 Topic

kafka-topics.sh --create --topic test \
--bootstrap-server node1:9092,node2:9092,node3:9092 \
--partitions 3 --replication-factor 3

參數(shù)解析:

  • --partitions 3:分區(qū)數(shù),決定并發(fā)度。
  • --replication-factor 3:副本數(shù),保證容錯能力。

2. 查看 Topic

kafka-topics.sh --list --bootstrap-server node1:9092

3. 生產(chǎn)消息

kafka-console-producer.sh --broker-list node1:9092 --topic test
> hello lige
> hello kafka

4. 消費(fèi)消息

kafka-console-consumer.sh --bootstrap-server node2:9092 --topic test --from-beginning

至此,集群搭建完成。

責(zé)任編輯:趙寧寧 來源: 運(yùn)維李哥不背鍋
相關(guān)推薦

2022-09-02 16:59:13

Kubernetes高可用Linux

2017-02-06 11:43:57

ZooKeeper集群

2017-02-19 19:57:05

ZooKeeper集群

2023-11-07 07:30:18

Hadoop高可用

2013-07-11 13:39:23

Hadoop

2023-06-26 00:07:14

2023-05-29 07:39:49

2019-11-27 16:34:00

配置

2023-11-27 00:18:38

2021-03-17 10:05:42

KubernetesRedis數(shù)據(jù)庫

2023-09-28 08:01:32

2023-10-23 00:06:29

2019-12-24 14:28:00

KeepalivedNginxTomcat

2020-04-23 15:59:04

SpringKafka集群

2012-02-15 22:40:23

heartbeat高可用

2022-12-01 11:41:24

2022-12-12 11:47:34

WindowsPySpark服務(wù)器

2023-05-08 08:16:00

高可用MongoDB

2021-10-13 08:53:53

Zookeeper存儲系統(tǒng)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號