首頁>技術>

1 概述

Apache Kafka 是一個分散式高吞吐量的流訊息系統,Kafka建立在ZooKeeper同步服務之上。它與Apache Storm和Spark完美整合,用於實時流資料分析,與其他訊息傳遞系統相比,Kafka具有更好的吞吐量,內建分割槽,資料副本和高度容錯功能,因此非常適合大型訊息處理應用場景。

2 部署圖3 Kafka叢集部署前環境準備3.1 安裝Java

推薦安裝Java 8,請自行安裝。

3.2 部署Zookeeper叢集3.2.1 下載Zookeeper安裝包

這裡部署的zk版本是:zookeeper-3.4.14.tar.gz

#wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.5.6/apache-zookeeper-3.5.6.tar.gz

## 執行bin目錄下的 zkCli.sh 出現 Error: Could not find or load main class org.apache.zookeeper.server.quorum.QuorumPeerMain

##解決辦法更換3.4.14

wget https://www-eu.apache.org/dist/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz

3.2.2 安裝

1、首先在172.20.0.10中安裝

(1)解壓:tar -zxvf zookeeper-3.4.14.tar.gz

(2)cd zookeeper-3.4.14/conf

(3)cp zoo_sample.cfg zoo.cfg

(4)修改zoo.cfg配置檔案,內容如下

tickTime=2000# zk資料目錄dataDir=/home/hadoop/app/zookeeper/data# 客戶端連線埠配置clientPort=2181initLimit=10syncLimit=5# 服務地址,2888為叢集內個節點通訊的埠,3888為leader選舉時使用的埠server.1=172.20.0.10:2888:3888server.2=172.20.0.11:2888:3888server.3=172.20.0.12:2888:3888

注:配置完後,要在dataDir配置屬性值的目錄下建立myid檔案,用作叢集的節點標識,內容為server.id屬性指定的值,如這裡server.id中的id的值為1,所以myid檔案內容為1,其他zk節點分別為2、3

2 、拷貝相同的一份zookeeper-3.4.9到172.20.0.11、172.20.0.12伺服器中

3、 配置Zookeeper的環境變數並分別啟動即可完成zk叢集的部署

4 部署Kafka叢集4.1 安裝並配置

這裡安裝的版本為:kafka_2.11-2.3.1.tgz

注:先在server1中安裝,然後在拷貝一份至172.20.0.11、172.20.0.12伺服器中

(1)解壓

$tar -zxvfkafka_2.11-2.3.1.tgz -C /home/app

(2)重新命名

$mv kafka_2.12-1.1.0 kafka

(3)配置Kafka的環境變數

(4)修改Kafka配置檔案server.properties,修改如下配置項

修改broker(代理)id標識,叢集中需要保證唯一

broker.id=1

修改日誌儲存目錄配置

log.dirs=/home/app/kafka/log-data

修改Zookeeper的連線地址,Kafka自帶了Zookeeper,但是這裡我們配置成自己的zk叢集地址

zookeeper.connect=172.20.0.10:2181,172.20.0.11:2181,172.20.0.12:2181

(5)拷貝172.20.0.10中部署好的kafka包到172.20.0.11、172.20.0.12伺服器中

(6)修改172.20.0.11中kafka的server.properties配置檔案

broker.id=2

(7)修改172.20.0.12中kafka的server.properties配置檔案

broker.id=3

5 啟動叢集5.1 先啟動Zookeeper叢集

分別在172.20.0.10、172.20.0.11、172.20.0.12中使用如下命令啟動

$zkServer.sh start
5.2 啟動Kafka叢集

分別在172.20.0.10、172.20.0.11、172.20.0.12中使用如下命令啟動

5.3 檢視叢集啟動情況

通過jps命令來檢視服務啟動程序,172.20.0.10、172.20.0.11、172.20.0.12都包含Kafka、QuorumPeerMain服務程序表示叢集啟動成功

$jps5506 Kafka5733 Jps5212 QuorumPeerMain期間出現無法啟動的狀況,解決辦法:##檢視狀態[root@0d4b66f319ef local]# /usr/local/zookeeper-3.4.14/bin/zkServer.sh statusZooKeeper JMX enabled by defaultUsing config: /usr/local/zookeeper-3.4.14/bin/../conf/zoo.cfgError contacting service. It is probably not running.##解決辦法:echo 1 >> /tmp/zookeeper/myid,刪除節點殘留資訊(rm -rf version-2/ zookeeper_server.pid),防火牆攔截埠##啟動成功,要確保有java環境,啟動順序:先啟動zookeeper,再啟動kafka

最新評論
  • BSA-TRITC(10mg/ml) TRITC-BSA 牛血清白蛋白改性標記羅丹明
  • 修復版Thinkphp素材整站原始碼+會員系統+虛擬產品購買