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

系統環境

一、操做系統:64位CentOS Linux release 7.2.1511 (Core)html

二、jdk版本:1.8.0_121apache

三、zookeeper版本:zookeeper-3.4.9.tar.gzbootstrap

四、三臺服務器:192.168.1.91; 192.168.1.92; 192.168.1.93;windows

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

下載kafka

訪問網址:http://kafka.apache.org/服務器

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

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

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

拷貝到centos系統

首先還得說明一下,由於咱們要作集羣,因此每臺服務器的配置基本同樣,只須要在一臺服務器上安裝好kafka,而後利用scp命令,拷貝到其它兩臺服務器,最後修改下參數就好了。因此我只將tar包拷貝到192.168.1.91這臺服務器,在這臺機器安裝好後,拷貝到另外兩臺機器。fetch

建立軟件目錄/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

說明:若是是單機版的話,默認便可,咱們什麼都不須要改動。如今咱們是要配置集羣,因此須要配置一些參數

一、broker.id:每臺機器不能同樣

二、zookeeper.connect:由於我有3臺zookeeper服務器,因此在這裏zookeeper.connect設置爲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.9一、192.168.1.9二、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/

相關文章
相關標籤/搜索