Kafka(http://kafka.apache.org/) 是由 LinkedIn 使用 Scala 編寫的一個分布式消息系統(tǒng),用作 LinkedIn 的活動流(Activity Stream)和運營數(shù)據(jù)處理管道(Pipeline)的基礎(chǔ),具有高水平擴展和高吞吐量。Spack、Elasticsearch 都支持與 Kafka 集成。下面看一下幾種分布式開源消息隊列系統(tǒng)的對比:
Kafka 集群架構(gòu):
一般不建議直接使用 Kafka 自帶的 Zookeeper 建立 zk 集群,這里我們使用獨立的 zk 集群,zk 集群搭建參考文章 Linux下ZooKeeper分布式集群安裝。
這里 Linux 選擇 CentOS 7.2。
1
2
3
4
5
6
7
8
9
|
# 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 |
編輯配置文件 (配置項可以參考 http://kafka.apache.org/documentation.html#brokerconfigs) 為:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
# 唯一標(biāo)識,0開始 broker. id =0 # 服務(wù)器端口和ip port=9092 host.name=192.168.2.20 # 日志數(shù)據(jù)保存的目錄 log. dirs = /usr/local/kafka/kafka-logs log.retention.hours=168 # 每條消息能夠容納的最大大小,默認(rèn)1000012 message.max.bytes=5242880 # 默認(rèn)的副本因子,即保存消息的副本數(shù),默認(rèn)1 default.replication.factor=2 # 取消息的最大直接數(shù),默認(rèn)1048576 replica.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,各個節(jié)點需單獨啟動:
1
2
3
4
|
# 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ù)器上各部署一個 Kafka 進程,以構(gòu)成一個 Kafka 集群。開始使用可以參考官方文檔 http://kafka.apache.org/documentation.html#quickstart。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持服務(wù)器之家。
原文鏈接:http://blog.csdn.net/smartbetter/article/details/64190798