天天看點

Liunx安裝Kafka叢集一、簡介二、準備工作三、Kafka下載下傳四、Kafka安裝五、Kafka啟動六、簡單驗證

一、簡介

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