centos7安裝kafka_2.11-1.0.0 新手入門


系統環境

1、操作系統:64位CentOS Linux release 7.2.1511 (Core)

2、jdk版本:1.8.0_121

3、zookeeper版本:zookeeper-3.4.9.tar.gz

4、三台服務器:192.168.1.91; 192.168.1.92; 192.168.1.93;

說明:確保zookeeper集群已經在上面三台服務器上部署成功。可參考之前的文章:centos7安裝zookeeper3.4.9集群

下載kafka

訪問網址:http://kafka.apache.org/

左側導航欄最下面有個Download按鈕,點進去

進入網址:http://kafka.apache.org/downloads

我寫這篇筆記的時候,官方建議下載 kafka_2.11-1.0.0.tgz,我們選擇編譯好的tar包,即上圖中紅色框框標記的。

拷貝到centos系統

首先還得說明一下,因為我們要做集群,所以每台服務器的配置基本一樣,只需要在一台服務器上安裝好kafka,然后利用scp命令,拷貝到其它兩台服務器,最后修改下參數就行了。所以我只將tar包拷貝到192.168.1.91這台服務器,在這台機器安裝好后,拷貝到另外兩台機器。

創建軟件目錄/soft,因為配置zookeeper時,已經創建了/soft目錄,所以我們在這里不需要創建了

將在windows系統下載好的tar包利用WinSCP工具拷貝到centos系統(192.168.1.91)的/soft目錄

解壓kafka

[root@localhost data]# cd /soft

解壓

[root@localhost soft]# tar -zxvf kafka_2.11-1.0.0.tgz

移動

[root@localhost soft]# mv kafka_2.11-1.0.0 /usr/local/kafka

配置kafka

[root@localhost local]# cd /usr/local/kafka/config/

[root@localhost config]# vi server.properties

Kafka的配置信息就是在server.properties里面配置的

找到下面兩行代碼並分別注釋

#broker.id=0

#zookeeper.connect=localhost:2181

在文件底部添加如下三個配置:

broker.id=1

zookeeper.connect=192.168.1.91:2181,192.168.1.92:2181,192.168.1.93:2181

listeners = PLAINTEXT://192.168.1.91:9092

說明:如果是單機版的話,默認即可,我們什么都不需要改動。現在我們是要配置集群,所以需要配置一些參數

1、broker.id:每台機器不能一樣

2、zookeeper.connect:因為我有3台zookeeper服務器,所以在這里zookeeper.connect設置為3台,必須全部加進去

3、listeners:在配置集群的時候,必須設置,不然以后的操作會報找不到leader的錯誤

 WARN [Producer clientId=console-producer] Error while fetching metadata with correlation id 40 : {test=LEADER_NOT_AVAILABLE} (org.apache.kafka.clients.NetworkClient)

4、看好這一點,另外兩台服務器,zookeeper.connect的配置跟這里的一樣,但是broker.id和listeners不能一樣

拷貝kafka到另外兩台服務器

[root@localhost config]# scp -r /usr/local/kafka root@192.168.1.92:/usr/local/

[root@localhost config]# scp -r /usr/local/kafka root@192.168.1.93:/usr/local/

中間會要求輸入目標機器的密碼,按提示操作就行了,然后修改這兩台服務器的broker.id和listeners,如下:

192.168.1.92

[root@localhost data]# cd /usr/local/kafka/config/

[root@localhost config]# vi server.properties

然后按Ctrl+D鍵,一直定位到文件最底部,修改broker.id和listeners:

broker.id=2

zookeeper.connect=192.168.1.91:2181,192.168.1.92:2181,192.168.1.93:2181

listeners = PLAINTEXT://192.168.1.92:9092

192.168.1.93

[root@localhost data]# cd /usr/local/kafka/config/

[root@localhost config]# vi server.properties

然后按Ctrl+D鍵,一直定位到文件最底部,修改broker.id和listeners:

broker.id=3

zookeeper.connect=192.168.1.91:2181,192.168.1.92:2181,192.168.1.93:2181

listeners = PLAINTEXT://192.168.1.93:9092

開啟相關端口

三台機器都要開啟,kafka通信默認是通過9092端口,也就是我們上面配的listeners

[root@localhost config]# firewall-cmd --zone=public --add-port=9092/tcp --permanent

[root@localhost config]# firewall-cmd --reload

啟動zookeeper

三台都要啟動

[root@localhost config]# /usr/local/zookeeper/bin/zkServer.sh start

啟動kafka,

三台都要啟動

[root@localhost config]# /usr/local/kafka/bin/kafka-server-start.sh -daemon /usr/local/kafka/config/server.properties

jps命令檢查是否啟動成功

[root@localhost config]# jps

4352 Kafka

4416 Jps

4088 QuorumPeerMain

表示啟動成功

創建topic

[root@localhost ~]# cd /usr/local/kafka/

[root@localhost kafka]# bin/kafka-topics.sh --create --zookeeper 192.168.1.91:2181 --replication-factor 1 --partitions 1 --topic test

如果成功的話,會輸出:Created topic "test".

查看topic

雖然在192.168.1.91上創建的topic,但是另外兩台機器上也能看到

到192.168.1.93客戶端

[root@localhost ~]# cd /usr/local/kafka/

[root@localhost kafka]# bin/kafka-topics.sh --list --zookeeper 192.168.1.92:2181

這里的IP可以是192.168.1.91、192.168.1.92、192.168.1.93中的任何一個,在三台服務器中的任何一台都可以看到

我這里是在93機器上查看92的

創建發布

在192.168.1.91上創建

[root@localhost kafka]# bin/kafka-console-producer.sh --broker-list 192.168.1.91:9092 --topic test

你會看到:

創建消費

在192.168.1.92上消費

[root@localhost kafka]# bin/kafka-console-consumer.sh --bootstrap-server 192.168.1.92:9092 --topic test --from-beginning

你會看到:

好,至此大功告成

參考網址

參考地址:http://www.cnblogs.com/luotianshuai/p/5206662.html

學習地址:http://orchome.com/kafka/index

官網:http://kafka.apache.org/

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM