簡介
Kafka 是一種高吞吐的分布式發(fā)布訂閱消息系統(tǒng),能夠替代傳統(tǒng)的消息隊列用于解耦合數(shù)據(jù)處理,緩存未處理消息等,同時具有更高的吞吐率,支持分區(qū)、多副本、冗余,因此被廣泛用于大規(guī)模消息數(shù)據(jù)處理應(yīng)用
Kafka 支持Java 及多種其它語言客戶端,可與Hadoop、Storm、Spark等其它大數(shù)據(jù)工具結(jié)合使用。
本教程主要介紹Kafka 在Centos 7上的安裝和使用,包括功能驗證和集群的簡單配置。
安裝JDK
Kafka 使用Zookeeper 來保存相關(guān)配置信息,Kafka及Zookeeper 依賴Java 運行環(huán)境,從oracle網(wǎng)站下載JDK 安裝包,解壓安裝:
$tar zxvf jdk-8u65-linux-x64.tar.gz
$mv jdk1.8.0_65 java
設(shè)置Java 環(huán)境變量:
JAVA_HOME=/opt/java
PATH=$PATH:$JAVA_HOME/bin
export JAVA_HOME PATH
也可以選擇yum install安裝,相應(yīng)設(shè)置環(huán)境變量。
安裝Kafka
從官網(wǎng)下載Kafka 安裝包,解壓安裝: 官網(wǎng)地址:http://kafka.apache.org/downloads.html
tar zxvf kafka_2.11-0.8.2.2.tgz
mv kafka_2.11-0.8.2.2 kafka
cd kafka
功能驗證
1.啟動Zookeeper 使用安裝包中的腳本啟動單節(jié)點Zookeeper 實例:
bin/zookeeper-server-start.sh -daemon config/zookeeper.properties
2.啟動Kafka 服務(wù) 使用kafka-server-start.sh 啟動kafka 服務(wù):
bin/kafka-server-start.sh config/server.properties
3.創(chuàng)建topic 使用kafka-topics.sh 創(chuàng)建單分區(qū)單副本的topic test:
bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
查看topic:
bin/kafka-topics.sh --list --zookeeper localhost:2181
test
4.產(chǎn)生消息 使用kafka-console-producer.sh 發(fā)送消息:
bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test
Hello world!
5.消費消息 使用kafka-console-consumer.sh 接收消息并在終端打?。?/p>
bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic test --from-beginning
producer產(chǎn)生的消息和consumer消費的消息是同步的。