Kafka(http://kafka.apache.org/) 是由 LinkedIn 使用 Scala 編寫的一個分布式消息系統,用作 LinkedIn 的活動流(Activity Stream)和運營數據處理管道(Pipeline)的基礎,具有高水平擴展和高吞吐量。Spack、Elasticsearch 都支持與 Kafka 集成。下面看一下幾種分布式開源消息隊列系統的對比:
Kafka 集群架構:
一般不建議直接使用 Kafka 自帶的 Zookeeper 建立 zk 集群,這里我們使用獨立的 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
編輯配置文件 (配置項可以參考 http://kafka.apache.org/documentation.html#brokerconfigs) 為:
# 唯一標識,0開始broker.id=0# 服務器端口和ipport=9092host.name=192.168.2.20# 日志數據保存的目錄log.dirs=/usr/local/kafka/kafka-logslog.retention.hours=168# 每條消息能夠容納的最大大小,默認1000012message.max.bytes=5242880# 默認的副本因子,即保存消息的副本數,默認1default.replication.factor=2# 取消息的最大直接數,默認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,各個節點需單獨啟動:
# cd /usr/local/kafka/kafka_2.11-1.0.0/bin# ./kafka-server-start.sh -daemon ../config/server.properties //后臺啟動服務# jps //查看服務是否啟動成功# ./kafka-server-stop.sh //關閉服務
最后我們在三臺不同的服務器上各部署一個 Kafka 進程,以構成一個 Kafka 集群。開始使用可以參考官方文檔 http://kafka.apache.org/documentation.html#quickstart。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。
新聞熱點
疑難解答