Kafka的安裝和部署及測試


1、簡介

  大數據分析處理平台包括數據的接入,數據的存儲,數據的處理,以及后面的展示或者應用。今天我們連說一下數據的接入,數據的接入目前比較普遍的是采用kafka將前面的數據通過消息的方式,以數據流的形式將數據接入到大數據存儲平台。

  下面主要介紹一下kafka的安裝和部署的過程。由於公司采用的是cloudera公司的產品,所以直接通過cloudera manager來安裝部署kafka。只不過在安裝的過程中,注意幾個問題即可:

(1)存放kafka的log文件的位置

默認是/var/log/kafka/ 

(2)存放kafka的data的位置

默認是/var/local/kafka/data

這些路徑需要手動創建,並注意他們的權限的問題。

2、kafka組建簡介,並用控制台的方式來模擬一下

(1)kafka主要有:producer、broker、topic、consumer。在安裝好kafka之后,首先需要創建一個topic,實際上這個topic就是對應的將消息進行分類,也可以理解成message queue。創建topic的命令是:

  kafka-topics --create --zookeeper hadoop3:2181 --replication-factor 1 --partitions 1 --topic hello

在這里hadoop3表示的是部署zookeeper的主機名(由於我部署的zookeeper只有一台機器,所以對應的就是hadoop3,這個根據具體的情況會不同),hello是對應的topic名稱,--replication-factor參數指定對應的消息的副本數

(2)創建好了topic之后,接下來就是生產者往這個topic中進行生產:

   kafka-console-producer --broker-list hadoop2:9092 --topic hello

在這里hadoop2表示的是部署broker的主機名,hello對應的就是topic名稱。

(3)第三步就是消費對應的消息了:

   kafka-console-consumer --zookeeper hadoop3:2181 --topic hello --from-beginning

在這里hadoop3表示的是對應部署zookeeper的主機名,hello表示的就是topic的名稱。

(4)查看topic的一些信息:

  創建多副本的topic:kafka-topics --create --zookeeper hadoop3:2181 --replication-factor 3 --partitions 1 --topic multi

    查看多副本的分布情況:kafka-topics --describe --zookeeper hadoop3:2181  --topic multi

(5)測試一下容錯機制

測試一下容錯能力Broker 1作為leader運行,現在我們直接重啟102的那台主機 ,后我們查看topic的信息可以看到另外一個節點被選做了leader,102 不再出現在 Isr 列表中:  

雖然最初負責續寫消息的leader down掉了,但之前的消息還是可以消費的:

> bin/kafka-console-consumer.sh --zookeeper hadoop3:2181 --from-beginning --topic mutil
...
my test message 1
my test message 2

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM