Ubuntu16.04下kafka的安裝和測試

簡單說明一下什麼是kafka

Apache kafka是消息中間件的一種,我發現很多人不知道消息中間件是什麼,在開始學習之前,我這邊就先簡單的解釋一下什麼是消息中間件,只是粗略的講解,目前kafka已經可以做更多的事情。

舉個例子,生產者消費者,生產者生產雞蛋,消費者消費雞蛋,生產者生產一個雞蛋,消費者就消費一個雞蛋,假設消費者消費雞蛋的時候噎住了(系統宕機了),生產者還在生產雞蛋,那新生產的雞蛋就丟失了。再比如生產者很強勁(大交易量的情況),生產者1秒鐘生產100個雞蛋,消費者1秒鐘只能吃50個雞蛋,那要不了一會,消費者就吃不消了(消息堵塞,最終導致系統超時),消費者拒絕再吃了,”雞蛋“又丟失了,這個時候我們放個籃子在它們中間,生產出來的雞蛋都放到籃子裏,消費者去籃子裏拿雞蛋,這樣雞蛋就不會丟失了,都在籃子裏,而這個籃子就是”kafka“。
雞蛋其實就是“數據流”,系統之間的交互都是通過“數據流”來傳輸的(就是tcp、https什麼的),也稱爲報文,也叫“消息”。
消息隊列滿了,其實就是籃子滿了,”雞蛋“ 放不下了,那趕緊多放幾個籃子,其實就是kafka的擴容。
各位現在知道kafka是幹什麼的了吧,它就是那個"籃子"。      

Kafka的名詞解釋

  • producer:生產者,就是它來生產“雞蛋”的。
  • consumer:消費者,生出的“雞蛋”它來消費。
  • topic:你把它理解爲標籤,生產者每生產出來一個雞蛋就貼上一個標籤(topic),消費者可不是誰生產的“雞蛋”都吃的,這樣不同的生產者生產出來的“雞蛋”,消費者就可以選擇性的“吃”了。
  • broker:就是籃子了。

安裝版本

kafka_2.11-0.10.2.0.tgz,需要安裝包的請加博主VX18052079038

輸入命令

sudo tar -zxvf kafka_2.11-0.10.2.0.tgz -C /usr/local

然後修改相關權限和名字,輸入相關命令

 

sudo mv  kafka_2.11.0.10.2.0.tgz kafka
sudo chown -R hadoop:hadoop kafka

 最後,把kafka加入到環境變量中去,如圖所示:

我們修改config/server.properties

修改內容如下:

broker.id=0

log.dir=/usr/local/kafka/kafka-logs

zookeeper.connect=master:2181

接着啓動zookeeper服務,輸入如下命令

然後啓動kafka服務,輸入如下命令:

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

 

                                                                                                                                                                                                                     打開一個新的終端創建Topic,輸入命令如下所示:

./bin/kafka-topic.sh --create --zookeeper master:2181 --replication-factor 1 --partitions 1 --topic spark

 

                                                                                                                                                                                                                 創建一個produce,輸入代碼如下所示:

./bin/kafka-console-producer.sh --broker-list master:9092 --topic spark

 

 打開一個新的終端,創建一個consumer,代碼如下所示: 

./bin/kafka-console-consumer.sh --bootstrap-server master:9092 --topic spark --from-beginning

當從produce端輸入字符串時候,在consumer端就能接收到,表示測試成功,如圖所示:

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

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