1. 程式人生 > >大資料環境搭建之Kafka完全分散式環境搭建步驟詳解

大資料環境搭建之Kafka完全分散式環境搭建步驟詳解

文章目錄


偽分散式搭建完畢之後,只要稍作修改就可以變為完全分散式。

環境準備

Linux:CentOS
Zookeeper:Kafak內建了zookeeper
Kafka: Scala 2.11-kafka_2.11-1.0.0.tgz(asc,sha512)
下載連結http://kafka.apache.org/downloads
以上偽分散式已經準備好,無須修改。

解壓安裝

同偽分散式:
將安裝檔案加壓到/opt/目錄

tar -zxf kafka_2.11-1.0.0.tgz /opt

配置檔案

進入解壓後的Kafka目錄

cd /opt/kafka_2.11-1.0.0

以下以三臺叢集機器(bigdata01,bigdata02,bigdata03)部署為例:
1、配置config目錄下的server.properties檔案

broker.id=0 #叢集內不能重複
listeners=PLAINTEXT://bigdata01:9092
#日誌放入tmp目錄
log.dirs=/tmp/kafka-logs
#zookeeper.connect=bigdata:2181
zookeeper.connect=bigdata01:2181,bigdata02:2181,bigdata03:2181

注:如果zookeeper有三臺叢集
zookeeper.connect=bigdata01:2181,bigdata02:2181,bigdata03:2181
2、Kafka完全分散式配置
將以上的整個資料夾拷貝到bigdata02,bigdata03機器上。
在bigdata01上kafka的安裝目錄上執行:
scp -r /opt/kafka_2.11-1.0.0/ bigdata02:/opt/kafka_2.11-1.0.0/
scp -r /opt/kafka_2.11-1.0.0/ bigdata03:/opt/kafka_2.11-1.0.0/
再修改配置檔案config目錄下的server.properties
在bigdata02上將broker.id設定為1,修改listeners地址

broker.id=1 #叢集內不能重複
listeners=PLAINTEXT://bigdata02:9092
#日誌放入tmp目錄
log.dirs=/tmp/kafka-logs
zookeeper.connect=bigdata01:2181,bigdata02:2181,bigdata03:2181

在bigdata03上將broker.id設定為2,修改listeners地址

broker.id=2 #叢集內不能重複
listeners=PLAINTEXT://bigdata03:9092
#日誌放入tmp目錄
log.dirs=/tmp/kafka-logs
zookeeper.connect=bigdata01:2181,bigdata02:2181,bigdata03:2181

服務啟動

因為啟動命令後介面都會列印相關日誌,啟動後要新起一個視窗進行後續命令

1、啟動分散式叢集的zookeeper

Kafka是通過zookeeper感知相關節點的。
在bigdata01機器執行:

cd /opt/zookeeper-3.4.12/bin
./zkServer.sh start

在bigdata02機器執行:

cd /opt/zookeeper-3.4.12/bin
./zkServer.sh start

在bigdata03機器執行:

cd /opt/zookeeper-3.4.12/bin
./zkServer.sh start

zookeeper啟動完畢,可以用jps命令驗證

2、啟動Kafka服務

在bigdata01機器上啟動如下:

cd /opt/kafka_2.11-1.1.0/bin

執行 ./kafka-server-start.sh 可以看到用法提示
USAGE: ./kafka-server-start.sh [-daemon] server.properties [–override property=value]*

./kafka-server-start.sh ../config/server.properties

在bigdata02,bigdata03機器上啟動如上。
會列印相關日誌,不報錯即為成功,可以在三臺機器上執行jps命令驗證。
啟動以後三個視窗不要關閉,關閉後進程將中斷。