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。
Kafka 詳解(二)------集群搭建