Kafka的安裝和部署及測試

一、簡介oop

  大數據分析處理平臺包括數據的接入,數據的存儲,數據的處理,以及後面的展現或者應用。今天咱們連說一下數據的接入,數據的接入目前比較廣泛的是採用kafka將前面的數據經過消息的方式,以數據流的形式將數據接入到大數據存儲平臺。測試

  下面主要介紹一下kafka的安裝和部署的過程。因爲公司採用的是cloudera公司的產品,因此直接經過cloudera manager來安裝部署kafka。只不過在安裝的過程當中,注意幾個問題便可:大數據

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

默認是/var/log/kafka/ 部署

(2)存放kafka的data的位置kafka

默認是/var/local/kafka/data數據分析

這些路徑須要手動建立,並注意他們的權限的問題。產品

二、kafka組建簡介,並用控制檯的方式來模擬一下it

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

  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
相關文章
相關標籤/搜索