聲明:我這裏搭建的是完全分佈式環境,zookeeper使用的是非kafka自帶的。(想深入瞭解kafka,需要先了解zk,如果你對zk有一定了解,那麼搭建zk分佈式環境將會非常easy)
單機環境和僞分佈環境可以參見官方文檔:http://kafka.apache.org/quickstart
如果不想看英文就看這篇:http://www.tianshouzhi.com/api/tutorials/kafka/117
基礎環境:
- 操作系統:centos5.5
- JDK:1.8以上(否者kafka啓動會報錯)
- zookeeper:3.4.9
- kafka:2.11-2.0.0
一、啓動zookeeper。
如上圖,先進入到zookeeper目錄,再進入bin,然後執行sh zkServer.sh start
命令即可。
前提是請配置好zk的配置和myid信息。如果報錯,可以看zookeeper.out
裏面的日誌。
使用 sh zkServer.sh status
查看各個節點的狀態。如果顯示follower或leader等信息表示正常啓動。
二、啓動kafka
下載地址:https://www.apache.org/dyn/closer.cgi?path=/kafka/2.0.0/kafka_2.11-2.0.0.tgz
可以自己手動下載,也可以使用wget http://apache.01link.hk/kafka/2.0.0/kafka_2.11-2.0.0.tgz
直接下載
解壓:
tar -zxvf kafka_2.11-2.0.0.tgz
然後進入到kafka_2.11-2.0.0/config目錄,查看各種配置文件。
由於是使用我們自己的zookeeper,所以zookeeper.properties文件可以不用管。
直接使用vi server.properties
命令編輯配置文件。
更改以下內容:
broker.id=3
我將它的值設成了與當前zk的myid值一樣,你可以隨便設置,只需要各臺機器不同就行
listeners=PLAINTEXT://192.168.1.130:9092
PLAINTEXT://是固定的,192.168.1.130爲當前機器的ip,端口統一設置成9092
zookeeper.connect=192.168.1.128:2181,192.168.1.3:2181,192.168.1.130:2181
這個就是你zk的所有機器加端口,可見我有三臺機器。
保存配置,cd ..
回到上層目錄,輸入bin/kafka-server-start.sh config/server.properties &
啓動kafka。
啓動所有的機器,啓動成功你會看到一長串的日誌輸出,按ctrl+c
停止日誌輸出。
下一篇將講解kafka的基礎使用,及使用java來完成一個簡單的demo