Kafka 詳解(二)------叢集搭建
這裡通過 VMware ,我們安裝了三臺虛擬機器,用來搭建 kafka叢集,虛擬機器網路地址如下:
hostname ipaddress subnet mask geteway
1、 master 192.168.146.200 255.255.255.0 192.168.146.2
2、 slave1 192.168.146.201 255.255.255.0 192.168.146.2
3、 slave2 192.168.146.202 255.255.255.0 192.168.146.2
1、下載 kafka 壓縮包
官網下載地址:http://kafka.apache.org/downloads
2、搭建zookeeper叢集
由於 kafka 叢集的執行需要 zookeeper,所以我們要首先進行 zookeeper 叢集的搭建。
關於搭建的教程,我在上一篇部落格已經介紹了:https://www.cnblogs.com/ysocean/p/9860529.html
3、解壓 kafka
將下載的 kafka 壓縮檔案上傳到叢集中的每臺機器相應目錄,執行如下命令進行解壓。
tar -zxf kafka_2.12-2.0.0.tgz
4、修改配置檔案 server.properties
1 broker.id=0 2 listeners=PLAINTEXT://192.168.146.200:9092 3 zookeeper.connect=192.168.146.200:2181,192.168.146.201:2181,192.168.146.202:2181
第一個 broker.id 後面的值和搭建 zookeeper 叢集中 myid 一樣,是一個叢集中唯一的數,要求是正數。需要保證kafka叢集中設定的都不一樣。
第二個設定監聽器,後面的 IP 地址對應當前的 ip 地址。
第三個是配置 zookeeper 叢集的 IP 地址。
該配置檔案的其餘設定可以預設,具體會在後面部落格進行介紹。
5、啟動 kafka
/usr/local/software/kafka_2.12-2.0.0/bin/kafka-server-start.sh /usr/local/software/kafka_2.12-2.0.0/config/server.properties &
該命令雖然是後臺啟動服務,但是日誌仍然會列印到控制檯。
想要完全後臺啟動,執行如下命令:
/usr/local/software/kafka_2.12-2.0.0/bin/kafka-server-start.sh /usr/local/software/kafka_2.12-2.0.0/config/server.properties 1>/dev/null 2>&1 &
其中1>/dev/null 2>&1 是將命令產生的輸入和錯誤都輸入到空裝置,也就是不輸出的意思。/dev/null代表空裝置。
執行完畢後,輸入 jps ,出現 kafka 的程序,則證明啟動成功。
6、建立 topic
叢集啟動成功後,我們通過建立一個名字為 test,partitions為3,replication為3的topic。
進入到bin 目錄下,執行如下命令:
./kafka-topics.sh --create --zookeeper 192.168.146.200:2181,192.168.146.201:2181,192.168.146.202:2181 --partitions 3 --replication-factor 3 --topic test
7、向 topic 傳送訊息
進入到 bin 目錄下,執行如下命令:
./kafka-console-producer.sh --broker-list 192.168.146.200:9092,192.168.146.201:9092,192.168.146.202:9092 --topic test
輸入 hello kafka ,然後 enter 鍵,即向名為 test 的topic 傳送了一條訊息:hello kafka
8、kafka 視覺化工具
為了更好的看到上一步建立的 topic,以及傳送的訊息。這裡介紹一個 kafka 視覺化工具——Kafka Tools,官網下載地址:http://www.kafkatool.com/download.html
安裝過程很簡單,都是點選下一步即可。然後開啟該工具,進行如下配置:
點選 File ---> Add cluster
然後點選有下家的 Add 按鈕即可。
點開剛剛建立的連線,出現如下介面:
test 便是我們上一步建立的 topic 名稱,裡面有一條訊息 hello kafka。