搭建Kafka
系統需求
- Scala 2.11.x、2.12.x
- Zookeeper
若您沒有安裝Zookeeper,您可以參考此教學來安裝
安裝教學
我們要於ubuntu01~ubuntu09架設Kafka broker
共同設置(每台主機都相同)
檢查Scala版本
scala -version
若是系統返回類似於下列信息,可得知Scala版本為2.11.8
Scala code runner version 2.11.8 — Copyright 2002–2016, LAMP/EPFL下載Kafka(若您是Scala 2.11.x可直接使用下面指令)
wget http://apache.stu.edu.tw/kafka/2.0.0/kafka_2.11-2.0.0.tgz
解壓
tar -xvf kafka_2.11–2.0.0.tgz
重命名
mv kafka_2.11–2.0.0 kafka
修改 .bash_profile
vi ~/.bash_profile
添加下面內容
KAFKA_HOME=~/kafka
PATH=$PATH:$KAFKA_HOME/bin讓環境變量生效
source ~/.bash_profile
不同設置(每台主機都不同)
開啟server.properties
vi kafka/config/server.properties
修改下面內容:
# 設置當前broker的id(例如:ubuntu01為0、ubuntu02為1)
broker.id=0
...# 設置Zookeeper集群的所有主機的地址
zookeeper.connect=zk41:2181,zk42:2181,zk43:2181
啟動kafka
kafka/bin/kafka-server-start.sh -daemon kafka/config/server.properties
確認否已經啟動
jps
...
20697 Kafka
...若看到Kafka則是啟動成功
測試集群
建立消息
kafka-topics.sh --create --zookeeper zk41:2181 --replication-factor 1 --partitions 1 --topic hellotopic
看到下面信息代表建立消息成功:
Created topic "hellotopic".準備發幾條測試消息
kafconsole-producer.sh --broker-list localhost:9092 — topic hellotopic
>test1
>
發出後我們再來查看消息
kaftopics.sh -- list --zookeeper zk41:2181
若看到下面信息則代表成功
hellotopic現在來消費消息
kafconsole-consumer.sh --bootstrap-server localhost:9092 --topic hellotopic --from-beginning
看到自己發出的消息代表集群架設成功:
test1