搭建Kafka

徐子函
徐子函
Sep 5, 2018 · 3 min read

系統需求

  • 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
    徐子函

    Written by

    徐子函

    https://github.com/aspspspsp https://www.linkedin.com/in/%E5%AD%90%E5%87%BD-%E5%BE%90-290a46107/

    Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
    Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
    Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade