大數據學習初級入門教程(五) —— Kafka 2.3.0 完全分佈式集羣的安裝、配置、啓動和測試

在前兩篇文章《大數據學習初級入門教程(三) —— Kafka 2.2.0 單節點的安裝、啓動和測試》和《大數據學習初級入門教程(四) —— Kafka 2.2.0 僞分佈的安裝、配置、啓動和測試》中,已經對 Kafka 集羣的單節點安裝和僞分佈式集羣安裝做了安裝、配置、啓動和測試,這篇文章主要對 Kafka 完全分佈式集羣安裝進行詳細的圖文說明。

在沒發表文章的這段時間,Kafka 最新版本已經從 2.2.0 升級到 2.3.0,所以這裏也以官網最新的版本進行集羣搭建。

一、環境說明

服務器:

CentOS release 6.9 (Final) x64,節點主機名分別爲:node19、node18、node11

Java 環境:

java version "1.8.0_172"
Java(TM) SE Runtime Environment (build 1.8.0_172-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.172-b11, mixed mode)

Zookeeper 集羣:

zookeeper-3.4.6,節點分別爲:node19、node18、node11

Kafka 版本:

kafka_2.11-2.3.0.tgz

二、下載安裝包並上傳到測試服務器

下載地址爲官網地址:https://www.apache.org/dyn/closer.cgi?path=/kafka/2.3.0/kafka_2.11-2.3.0.tgz

下載後上傳到一個節點服務器,這裏上傳到 node19 機器的路徑:/root 下。

三、解壓安裝包

# tar -xzvf kafka_2.11-2.3.0.tgz

四、移動目錄到部署集羣的目錄

一般安裝軟件會安裝在機器的 /usr、/opt 等目錄下,這裏我的集羣一般都安裝在 /home 下,所以把 Kafka 安裝目錄移動到 /home 下。

# mv kafka_2.11-2.3.0 /home/

# cd /home/kafka_2.11-2.3.0

五、啓動 ZooKeeper 集羣服務

Kafka 使用 ZooKeeper,如果 ZooKeeper 服務未啓動,則需要先啓動。在前兩篇 Kafka 安裝中,我們用的是 Kafka 安裝包中內含的一個單節點 Zookeeper 集羣,這裏我們直接用已經在服務器上安裝好的 Zookeeper 集羣,我這裏的版本是 zookeeper-3.4.6,具體 Zookeeper 的安裝及啓動測試等,參考其它一些相關文章。

# zkServer.sh start
JMX enabled by default
Using config: /home/zookeeper-3.4.6/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED

# zkServer.sh status
JMX enabled by default
Using config: /home/zookeeper-3.4.6/bin/../conf/zoo.cfg
Mode: leader

六、修改 Kafka 配置中 Zookeeper 相關的配置

修改文件 /home/kafka_2.11-2.3.0/config/server.properties 文件,修改如下:

Kafka 相關配置:

Zookeeper 集羣配置:

七、啓動 Kafka 服務

ZooKeeper 服務啓動後,可以啓動 Kafka 服務了。先啓動這一個機器節點上的 Kafka,查看是否能夠啓動正常。

# pwd
/home/kafka_2.11-2.3.0
# bin/kafka-server-start.sh config/server.properties

啓動信息如下:

則說明該節點 Kafka 啓動正常。

八、其它節點安裝 Kafka

停掉已經啓動的 Kafka 節點,把上一步中安裝的 Kafka 包,直接拷貝到其它要安裝 Kafka 集羣的機器節點,比如這裏拷貝到 node18 和 node11 上。

# scp -r kafka_2.11-2.3.0/ root@node18:/home/

# scp -r kafka_2.11-2.3.0/ root@node11:/home/

在 node18 和 node11 上創建日誌目錄,修改 Kafka 的配置文件,修改方式和第四步類似,只是 broker.id 分別爲 2 和 3。

九、啓動集羣

依次啓動 Kafka 各個節點上的 Kafka 服務,並查看日誌是否啓用成功。測試 Kafka 集羣的步驟,參考前兩篇文章,比如創建 Topic、生產數據、消費數據等。

十、腳本啓動集羣

由於一個個節點啓動集羣很麻煩,所以這裏在一個節點上創建腳本,每次運行該腳本,所有節點的 Kafka 服務依次啓動,當然前提是存放腳本的機器要到其它機器免密。

腳本 kafka_start.sh 內容如下:

#!/bin/bash

echo "Kafka 集羣啓動開始..."

for host in node19 node18 node11
do

echo "--------------------------------"
echo $host "節點 kafka 啓動開始..."
ssh $host "source /root/.bash_profile; kafka-server-start.sh /home/kafka_2.11-2.3.0/config/server.properties >/dev/null 2>&1 &"
echo $host "節點 kafka 啓動結束."

done

echo "Kafka 集羣啓動結束."

腳本 kafka_stop.sh 內容如下:

#!/bin/bash

echo "Kafka 集羣停止開始..."

for host in node19 node18 node11
do

echo "--------------------------------"
echo $host "節點 kafka 停止開始..."
ssh $host "source /root/.bash_profile; kafka-server-stop.sh >/dev/null 2>&1 &"
echo $host "節點 kafka 停止結束."

done

echo "Kafka 集羣停止結束."

Kafka 集羣的安裝就成功了,動手試驗一下吧。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章