Kafka集群怎樣部署

這篇文章主要介紹Kafka集群怎樣部署,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

創(chuàng)新互聯(lián)建站公司2013年成立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務公司,擁有項目網(wǎng)站建設(shè)、網(wǎng)站制作網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元望花做網(wǎng)站,已為上家服務,為望花各地企業(yè)和個人服務,聯(lián)系電話:028-86922220

1 Kafka Cluster的部署

由于Kafka 集群需要依賴ZooKeeper集群,所以這里我們需要事先搭建好ZK集群(可與kafka集群分離),我這里kafka和zk并沒有安在同一機器上,而是直接使用的hadoop集群里的zk。

 server列表
kafka集群slave4,slave5,slave6
zookeeper集群master1,master2,slave1

首先,我們將下載好的Kafka安裝包kafka_2.9.1解壓,命令如下所示:

  • 解壓Kafka到slave4

[hadoop@slave4~]$ tar -zxvf kafka_2.9.1-0.8.2.1.tgz
  • 進入到Kafka解壓目錄

[hadoop@slave4~]$ cd kafka_2.9.1-0.8.2.1
  • 配置環(huán)境變量

[hadoop@slave4~]$ vi /etc/profile
export KAFKA_HOME=/home/hadoop/kafka_2.9.1-0.8.2.1
export PATH=$PATH:$KAFKA_HOME/bin
  • 配置Kafka的zookeeper.properties 

# the directory where the snapshot is stored.
dataDir=/home/hadoop/data/zk
# the port at which the clients will connect
clientPort=2181
# disable the per-ip limit on the number of connections since this is a non-production config
maxClientCnxns=0
  • 配置server.properties

# The id of the broker. This must be set to a unique integer for each broker.
broker.id=0

# Zookeeper connection string
# comma separated host:port pairs, each corresponding to a zk
zookeeper.connect=master1:2181,master2:2181,slave1:2181

注:這里配置broker的時候,每臺機器上的broker保證唯一,從0開始。如:在另外2臺機器上分別配置broker.id=1,broker.id=2

  • 配置producer.properties

# list of brokers used for bootstrapping knowledge about the rest of the cluster
# format: host1:port1,host2:port2 ...
metadata.broker.list=slave4:9092,slave5:9092,slave6:9092
  • 配置consumer.properties

# Zookeeper connection string
# comma separated host:port pairs, each corresponding to a zk
# server. e.g. "127.0.0.1:3000,127.0.0.1:3001,127.0.0.1:3002"
zookeeper.connect=master1:2181,master2:2181,slave1:2181

至此,Kafka 集群部署完成。

2. kafka集群簡單例子測試

啟動

首先,在啟動Kafka集群服務之前,確保我們的ZK集群已啟動,下面我們啟動Kafka集群服務。啟動命令如下所示:

[hadoop@slave4 kafka_2.11-0.8.2.1]$ kafka-server-start.sh config/server.properties &

注:其他2個節(jié)點參照上述方式啟動。

另外,啟動其他節(jié)點的時候,在最先開始啟動的節(jié)點會顯示其它節(jié)點加入的信息記錄。

驗證啟動進程

[hadoop@slave4 kafka_2.11-0.8.2.1]$ jps
2049 QuorumPeerMain
2184 Kafka
2233 Jps

創(chuàng)建Topic

在服務啟動后,我們開始創(chuàng)建一個Topic,命令如下所示:

[hadoop@slave4 ]$ kafka-topics.sh --zookeeper master1:2181,master2:2181,slave1:2181 --topic test1 --replication-factor 3 --partitions 1 --create

我們可以查看該Topic的相關(guān)信息,命令如下所示:

[hadoop@slave4 ]$ kafka-topics.sh --zookeeper master1:2181,master2:2181,slave1:2181 --topic test1 --describe

下面解釋一下這些輸出。第一行是對所有分區(qū)的一個描述,然后每個分區(qū)都會對應一行,因為我們只有一個分區(qū)所以下面就只加了一行。

  • Leader:負責處理消息的讀和寫,Leader是從所有節(jié)點中隨機選擇的。

  • Replicas:列出了所有的副本節(jié)點,不管節(jié)點是否在服務中。

  • Isr:是正在服務中的節(jié)點

生產(chǎn)消息

下面我們使用kafka的Producer生產(chǎn)一些消息,然后讓Kafka的Consumer去消費,命令如下所示:

[hadoop@slave4 ]$ kafka-console-producer.sh --broker-list slave4:9092,slave5:9092,slave6:9092 --topic test1

Kafka集群怎樣部署

消費消息

接著,我們在另外一個節(jié)點啟動消費進程,來消費這些消息,命令如下所示:

[hadoop@slave5 ]$ kafka-console-consumer.sh --zookeeper master1:2181,master2:2181,slave1:2181 --from-beginning --topic test1

消費記錄如下圖所示:

Kafka集群怎樣部署

3.HA特性

這里,從上面的截圖信息可以看出,在slave4節(jié)點上Kafka服務是Lead,我們先將slave4節(jié)點的Kafka服務kill:

[hadoop@slave4 config]$ jps
2049 QuorumPeerMain
2375 Jps
2184 Kafka
[hadoop@slave4 config]$ kill -9 2184

然后,其他節(jié)點立馬選舉出了新的Leader,如下圖所示:

Kafka集群怎樣部署

下面,我們來測試消息的生產(chǎn)和消費,如下圖所示:

  • 生產(chǎn)消息

Kafka集群怎樣部署

通過測試,可以發(fā)現(xiàn),Kafka的HA特性還是不錯的,擁有不錯的容錯機制。

以上是“Kafka集群怎樣部署”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

網(wǎng)頁題目:Kafka集群怎樣部署
網(wǎng)站網(wǎng)址:http://bm7419.com/article34/jdicpe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務、用戶體驗ChatGPT、、營銷型網(wǎng)站建設(shè)企業(yè)網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

營銷型網(wǎng)站建設(shè)