Kafka~Linux環境下的部署(shu)
概念
Kafka是一種高吞吐量的分布式發布訂閱消息系統,它可以處理消費者規模的網站中的所有動作流數據。 這種動作(網頁瀏覽,搜索和其他用戶的行動)是在現代網絡上的許多社會功能的一個關鍵因素。 這些數據通常是由于吞吐量的要求而通過處理日志和日志聚合來解決。 對于像Hadoop的一樣的日志數據和離線分析系統,但又要求實時處理的限制,這是一個可行的解決方案。Kafka的(de)目的(de)是(shi)通過Hadoop的(de)并行加(jia)載機制來統一(yi)線(xian)上(shang)和離(li)線(xian)的(de)消(xiao)(xiao)息處理,也(ye)是(shi)為了通過集群來提(ti)供實(shi)時的(de)消(xiao)(xiao)費。
- 軟件名稱
- Apache Kafka
- 開發商
- 軟件平臺
- 軟件版本
- 0.8.2.2
- 更新時間
- 2015-10-03
- 軟件語言
- 軟件大小
- 15M
- 軟件授權
- License 2.0
特點
Kafka 是(shi)一種高吞吐(tu)量(liang)的分布(bu)式發布(bu)訂閱消息系統,有如下特性:
- 通過O(1)的磁盤數據結構提供消息的持久化,這種結構對于即使數以TB的消息存儲也能夠保持長時間的穩定性能。
- 高吞吐量:即使是非常普通的硬件Kafka也可以支持每秒數百萬的消息。
- 支持通過Kafka服務器和消費機集群來分區消息。
- 支持Hadoop并行數據加載。
相關知識點
Broker
Kafka集群包含一個或多個服務器,這種服務器被稱為broker[5]
Topic
每條發布到Kafka集群的消息都有一個類別,這個類別被稱為Topic。(物理上不同Topic的消息分開存儲,邏輯上一個Topic的消息雖然保存于一個或多個broker上但用戶只需指定消息的Topic即可生產或消費數據而不必關心數據存于何處)
Partition
Partition是物理上的概念,每個Topic包含一個或多個Partition.
Producer
負責發布消息到Kafka broker
Consumer
消息消費者,向Kafka broker讀取消息的客戶端。
Consumer Group
每(mei)個Consumer屬于一(yi)個特(te)定的Consumer Group(可為每(mei)個Consumer指定group name,若不指定group name則屬于默認的group)。
安裝與部署
前(qian)提
kafka需要有zookeeper分布式調度組件的支持,所以我們需要先安裝它,具體方法請查詢大叔這篇文章《Zookeeper~Linux環境下的部署》
下載
curl -L -O //mirrors.cnnic.cn/apache/kafka/0.9.0.0/kafka_2.10-0.9.0.0.tgz
解壓
tar zxvf kafka_2.10-0.9.0.0.tgz
查看目錄結構
- /bin 操作(zuo)kafka的(de)可執行(xing)腳本,還包含(han)windows下腳本
- /config 配置文件所在目錄
- /libs 依賴庫目錄
- /logs 日(ri)志(zhi)數據目錄(lu)(lu),目錄(lu)(lu)kafka把server端(duan)日(ri)志(zhi)分(fen)為5種類(lei)型(xing),分(fen)為:server,request,state,log-cleaner,controller
啟(qi)動Kafka
bin/kafka-server-start.sh config/server.properties & //&表示進程將在后(hou)端(duan)執行
查看服務是(shi)否啟動成功
netstat -tunlp|egrep "(2181|9092)"
這樣說明我們的9092就是kafka的(de)數據通(tong)訊端(duan)口已經啟動了,2181是我們(men)的zookeeper通訊端口,說明它們處于正常的監聽狀態!
希望通過這篇文(wen)章(zhang),讓大家(jia)對kafka,zookeepr,centos有一(yi)個學習與了解!
感謝(xie)各位(wei)的閱讀!