Kafka(http://kafka.apache.org/) 是由 LinkedIn 使用 Scala 編寫的一個(gè)分布式消息系統(tǒng),用作 LinkedIn 的活動流(Activity Stream)和運(yùn)營數(shù)據(jù)處理管道(Pipeline)的基礎(chǔ),具有高水平擴(kuò)展和高吞吐量。Spack、Elasticsearch 都支持與 Kafka 集成。下面看一下幾種分布式開源消息隊(duì)列系統(tǒng)的對比:

Kafka 集群架構(gòu):

一般不建議直接使用 Kafka 自帶的 Zookeeper 建立 zk 集群,這里我們使用獨(dú)立的 zk 集群,zk 集群搭建參考文章 Linux下ZooKeeper分布式集群安裝。
這里 Linux 選擇 CentOS 7.2。
# cd /usr/local# mkdir kafka# cd kafka# wget -P /usr/local/kafka http://mirror.bit.edu.cn/apache/kafka/1.0.0/kafka_2.11-1.0.0.tgz# tar -zxvf kafka_2.11-1.0.0.tgz# mkdir kafka-logs# cd kafka_2.11-1.0.0/config# vim server.properties
編輯配置文件 (配置項(xiàng)可以參考 http://kafka.apache.org/documentation.html#brokerconfigs) 為:
# 唯一標(biāo)識,0開始broker.id=0# 服務(wù)器端口和ipport=9092host.name=192.168.2.20# 日志數(shù)據(jù)保存的目錄log.dirs=/usr/local/kafka/kafka-logslog.retention.hours=168# 每條消息能夠容納的最大大小,默認(rèn)1000012message.max.bytes=5242880# 默認(rèn)的副本因子,即保存消息的副本數(shù),默認(rèn)1default.replication.factor=2# 取消息的最大直接數(shù),默認(rèn)1048576replica.fetch.max.bytes=5242880# 配置zk地址zookeeper.connect=192.168.20.11:2181,192.168.20.12:2181,192.168.20.13:2181
啟動 Kafka 之前需啟動 Zookeeper,然后啟動 Kafka,各個(gè)節(jié)點(diǎn)需單獨(dú)啟動:
# cd /usr/local/kafka/kafka_2.11-1.0.0/bin# ./kafka-server-start.sh -daemon ../config/server.properties //后臺啟動服務(wù)# jps //查看服務(wù)是否啟動成功# ./kafka-server-stop.sh //關(guān)閉服務(wù)
最后我們在三臺不同的服務(wù)器上各部署一個(gè) Kafka 進(jìn)程,以構(gòu)成一個(gè) Kafka 集群。開始使用可以參考官方文檔 http://kafka.apache.org/documentation.html#quickstart。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持VEVB武林網(wǎng)。
新聞熱點(diǎn)
疑難解答
圖片精選