一、簡介
Kafka是由Apache軟體基金會開發的一個開源流處理平台,由Scala和Java編寫。
Kafka是一種高吞吐量的分布式釋出訂閱消息系統,它可以處理消費者在網站中的所有動作流資料。
二、準備工作
1、準備三台伺服器
10.0.7.62 woniu、10.0.7.63 woniu1、10.0.7.30 woniu2
2、部署NTP伺服器進行時間同步(可忽略)
https://blog.csdn.net/u011374856/article/details/103307623
3、配置主機名跟IP位址映射
https://blog.csdn.net/u011374856/article/details/103310847
4、ssh免密碼登入
https://blog.csdn.net/u011374856/article/details/103311150
5、安裝zookeeper叢集
https://blog.csdn.net/u011374856/article/details/103315424
三、Kafka下載下傳
http://kafka.apache.org/downloads
四、Kafka安裝
1、解壓壓縮包
tar -zxvf kafka_2.11-2.2.0.tgz
2、建立以下目錄
/home/data/kafka/logs
3、配置環境變量
#配置目前使用者環境變量
vi ~/.bash_profile
#在檔案中添加如下指令,記得切換自己檔案路徑
export KAFKA_HOME=/home/app/kafka_2.11-2.2.0
export PATH=$KAFKA_HOME/bin:$PATH
#立即生效
source ~/.bash_profile
4、編輯server.properties
#編輯server.properties
vi server.properties
#修改如下内容
broker.id=0
delete.topic.enable=true
listeners=PLAINTEXT://woniu:9092
advertised.listeners=PLAINTEXT://woniu:9092
log.dirs=/home/data/kafka/logs
zookeeper.connect=10.0.7.62:2181,10.0.7.63:2181,10.0.7.30:2181
5、複制kafka檔案夾到另外兩台主機,注意:在拷貝目錄下(例如:/home/app/)執行
scp -r kafka_2.11-2.2.0/ [email protected]:/home/app/
scp -r kafka_2.11-2.2.0/ [email protected]:/home/app/
6、編輯另外兩台主機server.properties
#編輯server.properties
vi server.properties
#woniu1修改如下内容
broker.id=1
listeners=PLAINTEXT://woniu1:9092
advertised.listeners=PLAINTEXT://woniu1:9092
#=======分隔符========
#woniu2修改如下内容
broker.id=2
listeners=PLAINTEXT://woniu2:9092
advertised.listeners=PLAINTEXT://woniu2:9092
五、Kafka啟動
#啟動指令(三台都啟動)
nohup kafka-server-start.sh /home/app/kafka_2.11-2.2.0/config/server.properties > /home/data/kafka/logs/kafka.log 2>&1 &
#停止指令
kafka-server-stop.sh
六、簡單驗證
1、建立topic
kafka-topics.sh \
--create --zookeeper woniu:2181,woniu1:2181,woniu2:2181 \
--replication-factor 2 \
--partitions 1 \
--topic woniu_topic
2、顯示topic
kafka-topics.sh --describe \
--zookeeper woniu:2181, woniu1:2181, woniu2:2181 --topic woniu_topic
3、查詢所有topic
kafka-topics.sh --list \
--zookeeper woniu:2181, woniu1:2181, woniu2:2181
4、删除topic
./kafka-topics.sh --delete \
--zookeeper woniu:2181, woniu1:2181, woniu2:2181 --topic woniu_topic
5、消息測試
#建立消費者
kafka-console-consumer.sh --bootstrap-server woniu:9092 --topic woniu_topic --from-beginning
#建立生産者
kafka-console-producer.sh --broker-list woniu:9092 --topic woniu_topic