Kafka集群狐胎、插件 搭建及配置(三)

1 簡(jiǎn)介

??kafka 依賴(lài)zookeeper,zookeeper 簡(jiǎn)稱(chēng)ZK晕鹊,集群官方推薦是奇數(shù)個(gè)server溅话,奇數(shù)個(gè)最少3個(gè)飞几,這樣壞一個(gè)還有兩個(gè),可以正常選舉躁锁。(官方解釋?zhuān)簩?duì)于復(fù)制模式,需要最少三個(gè)服務(wù)器搜立,并且強(qiáng)烈建議您有奇數(shù)個(gè)服務(wù)器啄踊。如果只有兩個(gè)服務(wù)器颠通,那么蒜哀,如果有一個(gè)服務(wù)器失敗吏砂,則沒(méi)有足夠的機(jī)器形成多數(shù)法定人數(shù)狐血。兩個(gè)服務(wù)器本質(zhì)上不如單個(gè)服務(wù)器穩(wěn)定匈织,因?yàn)橛袃蓚€(gè)單點(diǎn)故障缀匕。)

注意事項(xiàng):

1、 kafka的java環(huán)境要統(tǒng)一阔加,小版本號(hào)要一致胜榔。
2夭织、 如果安裝kafka集群的服務(wù)器主機(jī)名不是localhost尊惰,需要在/etc/hosts文件里填寫(xiě)集群主機(jī)名和IP地址

2 搭建集群并配置集群

2.1 搭建基礎(chǔ)環(huán)境

由于zookeeper要依賴(lài)java環(huán)境,并且之后的Elasticsearch也需要依賴(lài)java所以首先需要搭建java1.8的基礎(chǔ)環(huán)境戴卜。JDK版本為8u172投剥。

2.1.1 下載jdk1.8:

下載地址:

http://download.oracle.com/otn/java/jdk/8u172-b11/a58eab1ec242421181065cdc37240b08/jdk-8u172-linux-x64.tar.gz

2.1.2 上傳到服務(wù)器并解壓

[root@kafka11 opt]#tar –zxvf jdk-8u172-linux-x64.tar.gz

2.1.3 修改環(huán)境變量

[root@kafka11 ~]# vim /etc/profile
#jdk1.8
export JAVA_HOME=/opt/jdk1.8.0_172
export JAVA_BIN=/opt/jdk1.8.0_172/bin
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME JAVA_BIN PATH CLASSPATH

2.1.4 刷新配置文件

[root@kafka11 ~]# source /etc/profile

2.2 搭建zookeeper集群

版本為:zookeeper3.4.12江锨,官網(wǎng)下地址:

https://archive.apache.org/dist/zookeeper/

2.2.1 配置zookeeper

配置文件模板在$zookeeperhome/conf/zoo_sample.cfg拌消。復(fù)制此模版并且改名為zoo.cfg

[root@kafka11 conf]# cp zoo_sample.cfg zoo.cfg
[root@kafka11 conf]# vim zoo.cfg
lientCnxns=200
tickTime=2000
initLimit=5
syncLimit=2
dataDir=/data/zookeeper/data ##注意此目錄需要手動(dòng)創(chuàng)建
dataLogDir=/data/zookeeper/logs ##此目錄需要手動(dòng)創(chuàng)建
clientPort=2181
server.1=10.10.4.11:2888:3888
server.2=10.10.4.12:2888:3888
server.3=10.10.4.13:2888:3888

2.2.2 創(chuàng)建目錄及myid

[root@kafka11 data]# mkdir –p /data/zookeeper/data
[root@kafka11 data]# mkdir –p /data/zookeeper/logs  
[root@kafka11 ~]# cd /data/zookeeper/data/
[root@kafka11 data]# echo 1 > myid ##此次注意鹦筹,要和配置文件里的server.*的*對(duì)應(yīng)

2.2.3 其他節(jié)點(diǎn)配置

注意:myid一定要注意,要和配置文件的server后邊對(duì)應(yīng)的數(shù)字相同相同

2.2.4 Zookeeper命令

開(kāi)啟:[root@kafka12 ~]# /data/zookeeper-3.4.12/bin/zkServer.sh start
停止:[root@kafka12 ~]# /data/zookeeper-3.4.12/bin/zkServer.sh stop
查看狀態(tài):[root@kafka12 ~]# /data/zookeeper-3.4.12/bin/zkServer.sh status

使用jps命令查看zookeeper進(jìn)程

#執(zhí)行命令jps
20348 Jps
4233 QuorumPeerMain
如果沒(méi)有jps命令可以看端口或者進(jìn)程

2.3 搭建kafka集群

2.3.1 創(chuàng)建目錄并下載安裝軟件

下載地址:版本號(hào)為2.11-0.11.0.3

https://archive.apache.org/dist/kafka/0.11.0.3/kafka_2.11-0.11.0.3.tgz

2.3.2 配置kafka(我的配置文件)

[root@kafka11 config]# cat server.properties
#每個(gè)server需要單獨(dú)配置broker id虚青,如果不配置系統(tǒng)會(huì)自動(dòng)配置。
broker.id=1  ##集群其他服務(wù)器需要改動(dòng)
delete.topic.enable=true
port=9092        
host.name=10.10.4.11 ##集群其他服務(wù)器需要改動(dòng)
listeners=PLAINTEXT://:9092
advertised.host.name=10.10.4.11 ##集群其他服務(wù)器需要改動(dòng)
num.network.threads=3
num.io.threads=8
socket.send.buffer.bytes=102400
socket.receive.buffer.bytes=102400
socket.request.max.bytes=104857600
log.dirs=/data/kafka/logs ##此目錄要先創(chuàng)建达传,不會(huì)自動(dòng)創(chuàng)建。
num.partitions=3 ##分區(qū)個(gè)數(shù)
num.recovery.threads.per.data.dir=1
offsets.topic.replication.factor=1
transaction.state.log.replication.factor=1
transaction.state.log.min.isr=1
log.retention.hours=168
log.segment.bytes=1073741824
log.retention.check.interval.ms=300000
zookeeper.connect=10.10.4.11:2181,10.10.4.12:2181,10.10.4.13:2181
zookeeper.connection.timeout.ms=6000
session.timeout.ms=10s
max.poll.records=100
max.poll.interval.ms=600000
group.initial.rebalance.delay.ms=0

2.3.3 創(chuàng)建目錄

[root@kafka11 config]# mkdir -p /data/kafka/logs

2.3.4 啟動(dòng)kafka集群

[root@kafka11 config]# cd /data/kafka_2.11-0.11.0.3/bin/
[root@kafka11 bin]# ./kafka-server-start.sh -daemon ../config/server.properties

-daemon參數(shù)是kafka后臺(tái)運(yùn)行的參數(shù)欲主。

2.3.5 檢查是否啟動(dòng)

#執(zhí)行命令jps

20348 Jps

4233 QuorumPeerMain

18991 Kafka

如果沒(méi)有jps命令可以看端口或者進(jìn)程

3 Kafka相關(guān)命令

1、kafka啟動(dòng)命令:

./kafka-server-start.sh -daemon ../config/server.properties

2昧互、kafka查看topic命令:

./kafka-topics.sh --zookeeper 10.10.4.11:2181 --list

3渐逃、查看指定topic的詳細(xì):

./kafka-topics.sh --zookeeper 10.10.4.11:2181 --topic test_property --describe

4赊堪、創(chuàng)建topic:

./kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test-ref-7

--replication-factor:指定副本個(gè)數(shù)

--partitions:指定分區(qū)個(gè)數(shù)

--topic:指定topic名

5遵绰、寫(xiě)入數(shù)據(jù):

./kafka-producer-perf-test.sh --num-records 10000000 --topic test-ref-9 --record-size 500 --throughput 100000 --producer-props bootstrap.servers=10.10.4.11:9092,10.10.4.12:9092,10.10.4.13:9092

--num-records:記錄的條數(shù)

--topic:指定topic的名字

--record-size:一條記錄大小

--throughput:吞吐大小(自己感覺(jué)無(wú)用拳喻,只是彈屏的多少)

--producer-props bootstrap.servers=10.10.4.11:9092,10.10.4.12:9092,10.10.4.13:9092:指定kafka集群

6陋葡、消費(fèi)數(shù)據(jù):

./kafka-consumer-perf-test.sh --messages 10000000 --threads 3 --zookeeper localhost:2181 --num-fetch-threads 3 --topic test-ref-8

--messages:指定消費(fèi)條目數(shù)

--threads:指定線(xiàn)程數(shù)

--num-fetch-threads 3:指定消費(fèi)人數(shù)

4 kafka監(jiān)控工具kafka-manager1.3.3.18安裝使用

4.1 環(huán)境要求

Kafka 0.8.. or 0.9.. or 0.10.. or 0.11..
Java 8+
sbt0.13.*

4.2 安裝部署kafka-manager

4.2.1 安裝sbt

[root@kafka11 ~]# curl https://bintray.com/sbt/rpm/rpm > bintray-sbt-rpm.repo
[root@kafka11 ~]# mv bintray-sbt-rpm.repo /etc/yum.repos.d/
[root@kafka11 ~]# yum install sbt –y

4.2.2 下載

由于下載編譯網(wǎng)站國(guó)內(nèi)訪(fǎng)問(wèn)效果不佳在網(wǎng)上找了個(gè)編譯好的1.3.3.18版本的可以直接使用

鏈接:https://pan.baidu.com/s/1XRXFEmpS4f7KsT5zaaXfTw 提取碼:pb5g

4.2.3 安裝配置

unzip kafka-manager-1.3.3.18.zip

在解壓后的conf目錄中打開(kāi) application.conf文件陨溅,修改其中的zookeeper配置信息:

kafka-manager.zkhosts="hadoop4:2181,hadoop5:2181,hadoop6:2181"   

##用逗號(hào)隔開(kāi)

4.2.4 指定端口啟動(dòng)

nohup bin/kafka-manager -Dconfig.file=conf/application.conf -Dhttp.port 9001 &

或者修改配置文件

添加http.port=9001

4.3 使用manager

1偿渡、添加一個(gè)集群

點(diǎn)擊【Cluster】>【Add Cluster】打開(kāi)如下添加集群的配置界面:

輸入集群的名字(如Kafka-1)和 Zookeeper 服務(wù)器地址(如10.10.4.11:2181)。選擇最接近的Kafka版本(如0.10.1.0)留攒。

注意:如果沒(méi)有在 Kafka 中配置過(guò) JMX_PORT,千萬(wàn)不要選擇第一個(gè)復(fù)選框。

Enable JMX Polling。如果選擇了該復(fù)選框腔剂,Kafka-manager 可能會(huì)無(wú)法啟動(dòng)登渣。


2、新建主題

點(diǎn)擊【Topic】>【Create】可以方便的創(chuàng)建并配置主題。如下顯示。


5 Kafka監(jiān)控工具KafkaOffsetMonitor配置及使用

5.1 安裝及配置

1王财、正常直接去官網(wǎng)下載最新的jar包,上傳到某服務(wù)器上改览,可以直接運(yùn)行就可以運(yùn)行起來(lái)了:https://github.com/quantifind/KafkaOffsetMonitor/releases

但是在使用過(guò)程中有可能會(huì)發(fā)現(xiàn)頁(yè)面反應(yīng)緩慢或者無(wú)法顯示相應(yīng)內(nèi)容的情況今妄。據(jù)說(shuō)這是由于jar包中的某些js等文件需要連接到網(wǎng)絡(luò)瞻离,或者需要翻墻導(dǎo)致的推励。網(wǎng)上找的一個(gè)修改版的KafkaOffsetMonitor對(duì)應(yīng)jar包,可以完全在本地運(yùn)行,經(jīng)過(guò)測(cè)試效果不錯(cuò)。我已經(jīng)上傳到我的網(wǎng)盤(pán):鏈接:https://pan.baidu.com/s/1sCZQl6K0zcPGeS54MTVoGw 提取碼:njsd

2、上傳解壓

2、在解壓目錄里創(chuàng)建一個(gè)新的腳本

#!/bin/bash
java -cp KafkaOffsetMonitor-assembly-0.2.0.jar \
 com.quantifind.kafka.offsetapp.OffsetGetterWeb \
 --zk 10.10.4.11:2181,10.10.4.12:2181,10.10.4.13:2181 \
 --port 8088 \
 --refresh 5.minutes \
 --retain 1.day

--zk localhost:2181——指的是zookeeper的IP和端口號(hào)
--port 8088——指的是KafkaOffsetMonitor訪(fǎng)問(wèn)的端口號(hào),即監(jiān)控kafka的端口號(hào)(當(dāng)前系統(tǒng)沒(méi)有用到的端口號(hào))
--refresh 10.seconds——10秒一刷新
--retain 1.days——http://localhost:8089頁(yè)面保持1天

3钻哩、然后運(yùn)行腳本

之后會(huì)有提示讓你訪(fǎng)問(wèn):IP:8088

5.2 應(yīng)用(只有在消費(fèi)的時(shí)候可以看到數(shù)據(jù))

1珊肃、 剛進(jìn)入界面


2、有一個(gè)Visualizations選項(xiàng)卡,點(diǎn)擊其中的Cluster Overview可以查看當(dāng)前Kafka集群的Broker情況

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末训柴,一起剝皮案震驚了整個(gè)濱河市乖阵,隨后出現(xiàn)的幾起案子儒将,更是在濱河造成了極大的恐慌,老刑警劉巖蝠咆,帶你破解...
    沈念sama閱讀 219,539評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件济赎,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,594評(píng)論 3 396
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)玫荣,“玉大人贯卦,你說(shuō)我怎么就攤上這事焙贷。” “怎么了啡彬?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,871評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵外遇,是天一觀的道長(zhǎng)跳仿。 經(jīng)常有香客問(wèn)我捐晶,道長(zhǎng)惑灵,這世上最難降的妖魔是什么英支? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,963評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮楞黄,結(jié)果婚禮上鬼廓,老公的妹妹穿的比我還像新娘碎税。我一直安慰自己,他們只是感情好雷蹂,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,984評(píng)論 6 393
  • 文/花漫 我一把揭開(kāi)白布萎河。 她就那樣靜靜地躺著,像睡著了一般昧港。 火紅的嫁衣襯著肌膚如雪支子。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,763評(píng)論 1 307
  • 那天叹侄,我揣著相機(jī)與錄音趾代,去河邊找鬼撒强。 笑死飘哨,一個(gè)胖子當(dāng)著我的面吹牛琐凭,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播臼闻,決...
    沈念sama閱讀 40,468評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼述呐,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼乓搬!你這毒婦竟也來(lái)了进肯?” 一聲冷哼從身側(cè)響起棉磨,我...
    開(kāi)封第一講書(shū)人閱讀 39,357評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤环形,失蹤者是張志新(化名)和其女友劉穎抬吟,沒(méi)想到半個(gè)月后火本,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體聪建,經(jīng)...
    沈念sama閱讀 45,850評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡擎析,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,002評(píng)論 3 338
  • 正文 我和宋清朗相戀三年叔锐,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了见秽。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片愉烙。...
    茶點(diǎn)故事閱讀 40,144評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖解取,靈堂內(nèi)的尸體忽然破棺而出步责,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 35,823評(píng)論 5 346
  • 正文 年R本政府宣布蔓肯,位于F島的核電站遂鹊,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏蔗包。R本人自食惡果不足惜秉扑,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,483評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望调限。 院中可真熱鬧舟陆,春花似錦、人聲如沸踱承。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,026評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至泌豆,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間贞远,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,150評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工垢夹, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留促王,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,415評(píng)論 3 373
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子累魔,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,092評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容