此主題介紹Kafka的安裝、配置及基礎使用。github
爲某企業作的培訓,完整文檔見:http://gudaoxuri.github.io/bd-lab/ git
Kafka介紹
http://www.infoq.com/cn/articles/kafka-analysis-part-1apache
官網:http://kafka.apache.org/
# 切換到工做空間 cd /opt/workspaces # 建立Kafka數據目錄 mkdir data/kafka # 建立Kafka日誌目錄 mkdir logs/kafka
wget http://mirrors.cnnic.cn/apache/kafka/0.8.2.2/kafka_2.10-0.8.2.2.tgz tar -zxf kafka_2.10-0.8.2.2.tgz rm -rf kafka_2.10-0.8.2.2.tgz mv kafka_2.10-0.8.2.2 ./frameworks/kafka
# 設置以下參數: broker.id=0 port=9092 # 對外主機名 advertised.host.name=<Docker對外IP> # 數據目錄 log.dirs=/opt/workspaces/data/kafka # 鏈接ZK zookeeper.connect=localhost:2181
當您有多塊網卡或使用特殊的網絡設置致使Kafka啓動時使用的IP與對外暴露的IP不一樣時須要指定advertised.host.name 爲您指望使用的外網IP |
log.dirs 的解釋爲A comma seperated list of directories under which to store log files ,這裏所謂的日誌文件指的是Kafka的消息持久化文件,並非通常意義的運行日誌 |
# 設置日誌目錄 kafka.logs.dir=/opt/workspaces/logs/kafka
nohup ./frameworks/kafka/bin/kafka-server-start.sh ./frameworks/kafka/config/server.properties >/dev/null 2>&1 &
./frameworks/kafka/bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test ./frameworks/kafka/bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test > This is a message > This is another message # 在另個窗口輸入 ./frameworks/kafka/bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic test --from-beginning > This is a message > This is another message