filebeat+ELK+kafka集群搭建(三:kafka集群部署)

搭建kafka集群

Kafka官方文檔:http://kafka.apache.org

1. 安裝java

??Elasticsearch至少需要Java 8.版本的java,建議使用Oracle JDK 1.8.0_131版(官網(wǎng)建議)铅鲤。如果沒符合標準浇衬,請自行升級。本文只描述新安裝java(由于本次安裝kafka和elasticsearch在一臺服務(wù)器上所以就直接安裝java8)

[root@es-1 ~]# yum install -y java-1.8.0

[root@es-1 ~]# java -version

openjdk version "1.8.0_171"

OpenJDK Runtime Environment (build 1.8.0_171-b10)

OpenJDK 64-Bit Server VM (build 25.171-b10, mixed mode)
2. 下載安裝kafka****(kafka_2.11-1.1.0****)

官方地址:https://www.apache.org/dyn/closer.cgi?path=/kafka/1.1.0/kafka_2.11-1.1.0.tgz

百度云:鏈接:https://pan.baidu.com/s/1yW3h9P9sMvkBJP46mHIr7w 密碼:57e1

3. 上傳众羡、解壓

上傳到/opt/elk目錄

[root@es-1 ~]# cd /opt/elk/

[root@es-1 elk]# ls

kafka_2.11-1.1.0.tgz       

[root@es-1 elk]# tar -xvf kafka_2.11-1.1.0.tgz
4.****相關(guān)介紹

??kafka 采用集群方式部署,測試環(huán)境部署蓖租,所以我用兩臺機器模擬出3個節(jié)點的cluster 粱侣。kafka 依賴zookeeper,zookeeper 簡稱ZK蓖宦,已經(jīng)包含在kafka的tar包里齐婴,不需要而外下載安裝,為啥要用三個節(jié)點呢稠茂?這個是zk的一個選舉leader的特性柠偶,官方推薦是奇數(shù)個server,奇數(shù)個最少3個睬关,這樣壞一個還有兩個诱担,可以正常選舉。(官方解釋:對于復制模式电爹,需要最少三個服務(wù)器蔫仙,并且強烈建議您有奇數(shù)個服務(wù)器。如果只有兩個服務(wù)器藐不,那么匀哄,如果有一個服務(wù)器失敗秦效,則沒有足夠的機器形成多數(shù)法定人數(shù)。兩個服務(wù)器本質(zhì)上不如單個服務(wù)器穩(wěn)定涎嚼,因為有兩個單點故障阱州。)

由于是集群配置,配置之間幾乎差不多法梯,所以配置好一個苔货,直接scp到其余節(jié)點就ok了,到了其余節(jié)點把關(guān)鍵參數(shù)修改一下就行了立哑。

5. 配置zookeeper
①給zookeeper 創(chuàng)建data 目錄和logs 目錄
[root@es-1 ~]# mkdir /opt/elk/kafka/zookeeper/{data,logs} -p
②創(chuàng)建myid 文件
[root@es-1 ~]# echo 1 > /opt/elk/kafka/zookeeper/data/myid  #集群其他服務(wù)器需要改動
③配置zookeeper配置文件
[root@es-1 ~]# cd /opt/elk/kafka_2.11-1.1.0/config/

[root@es-1 config]# vim zookeeper.properties

#客戶端連接端口


maxClientCnxns=0

#zk存放數(shù)據(jù)的目錄夜惭,zk 需要有一個叫做myid的文件也是放到(必須)這個目錄下

dataDir=/opt/elk/kafka/zookeeper/data                 

dataLogDir=/opt/elk/kafka/zookeeper/logs

clientPort=2181

#最大客戶端連接數(shù)

maxClientCnxns=20

#是作為Zookeeper服務(wù)器之間或客戶端與服務(wù)器之間維持心跳的時間間隔

tickTime=2000

#此配置表示,允許follower(相對于Leaderer言的“客戶端”)連接并同步到Leader的初始化連接時間铛绰,以tickTime為單位诈茧。當初始化連接時間超過該值,則表示連接失敗捂掰。

initLimit=10

#此配置項表示Leader與Follower之間發(fā)送消息時敢会,請求和應(yīng)答時間長度。如果follower在設(shè)置時間內(nèi)不能與leader通信这嚣,那么此follower將會被丟棄鸥昏。

syncLimit=5

#server.myid=ip:followers_connect to the leader:leader_election # server 是固定的,myid 是需要手動分配姐帚,第一個端口是follower是鏈接到leader的端口吏垮,第二個是用來選舉leader 用的port

server.1=192.168.205.155:2888:3888

server.2=192.168.205.156:2888:3888

server.3=192.168.205.157:2888:3888

注意:如果有防火墻記得開放相應(yīng)端口

6. 配置kafka
[root@es-1 ~]# cd /opt/elk/kafka_2.11-1.1.0/config/

[root@es-1 config]# vim server.properties

#每個server需要單獨配置broker id,如果不配置系統(tǒng)會自動配置罐旗。

broker.id=0 ##集群其他服務(wù)器需要改動

#消費者的訪問端口膳汪,logstash或者elasticsearch

listeners=PLAINTEXT://192.168.205.155:9092 ##集群其他服務(wù)器需要改動

#接收和發(fā)送網(wǎng)絡(luò)信息的線程數(shù)

num.network.threads=3

#服務(wù)器用于處理請求的線程數(shù),其中可能包括磁盤I/O尤莺。

num.io.threads=8

#套接字服務(wù)器使用的發(fā)送緩沖區(qū)(SO_SNDBUF)

socket.send.buffer.bytes=102400

#套接字服務(wù)器使用的接收緩沖區(qū)(SO_RCVBUF)

socket.receive.buffer.bytes=102400

#套接字服務(wù)器將接受的請求的最大大小(防止OOM)旅敷。

socket.request.max.bytes=104857600

#以逗號分隔的目錄列表,其中存儲日志文件颤霎。

log.dirs=/usr/local/kafka/logs #此目錄要先創(chuàng)建,不會自動創(chuàng)建涂滴。(如果不行就關(guān)閉此選項)

num.partitions=1

num.recovery.threads.per.data.dir=1

offsets.topic.replication.factor=1

transaction.state.log.replication.factor=1

transaction.state.log.min.isr=1
zookeeper.connect=192.168.205.155:2181,192.168.205.156:2181,192.168.205.157:2181

zookeeper.connection.timeout.ms=6000

group.initial.rebalance.delay.ms=0
7. 創(chuàng)建kafka 日志文件
[root@es-1 ~]# mkdir -p /usr/local/kafka/logs/
8.****配置集群其他節(jié)點

只需要把配置好的安裝包直接分發(fā)到不同的機器上友酱,然后修改zookeeper的myid,kafka的broker.id和listeners就可以了柔纵。

9. 啟動kafka 集群(順序是先啟動zk 缔杉,然后再啟動kafka
①啟動zk
[root@es-1 ~]# nohup /opt/elk/kafka_2.11-1.1.0/bin/zookeeper-server-start.sh zookeeper.properties >>/dev/null 2>&1 &

[root@es-2 ~]# nohup /opt/elk/kafka_2.11-1.1.0/bin/zookeeper-server-start.sh zookeeper.properties >>/dev/null 2>&1 &

[root@es-3 ~]# nohup /opt/elk/kafka_2.11-1.1.0/bin/zookeeper-server-start.sh zookeeper.properties >>/dev/null 2>&1 &
②驗證是否正確

#安裝nc

[root@es-1 ~]# yum -y install nc              

\#使用echo ruok|nc 127.0.0.1 2181 測試是否啟動了該Server,若回復imok表示已經(jīng)啟動搁料。

[root@es-1 ~]# echo ruok|nc 127.0.0.1 2181

imok[root@es-1 ~]#

#查看zk的配置或详,配置正常返回證明zk service 正常

[root@es-1 ~]# echo conf | nc 127.0.0.1 2181

clientPort=2181

dataDir=/opt/elk/kafka/zookeeper/data/version-2

dataLogDir=/opt/elk/kafka/zookeeper/logs/version-2

tickTime=2000

maxClientCnxns=20

minSessionTimeout=4000

maxSessionTimeout=40000

serverId=1

initLimit=10

syncLimit=5

electionAlg=3

electionPort=3888

quorumPort=2888

peerType=0

#stat 可以查看集群狀態(tài)

[root@es-1 ~]# echo stat|nc 127.0.0.1 2181

Zookeeper version: 3.4.10-39d3a4f269333c922ed3db283be479f9deacaa0f, built on 03/23/2017 10:13 GMT

Clients:

 /127.0.0.1:45542[0](queued=0,recved=1,sent=0)

Latency min/avg/max: 0/0/11

Received: 1025

Sent: 1035

Connections: 1

Outstanding: 0

Zxid: 0x100000074

Mode: follower

Node count: 28

#通過lsof 命令查看端口是否正常啟動

[root@es-1 ~]# lsof -i:2181

COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME

java 29022 root 94u IPv6 496186 0t0 TCP *:eforward (LISTEN)

# 還有如下常用命令:

ZooKeeper 支持某些特定的四字命令字母與其的交互系羞。它們大多是查詢命令,用來獲取 ZooKeeper 服務(wù)的當前狀態(tài)及相關(guān)信息霸琴。用戶在客戶端可以通過 telnet 或 nc 向 ZooKeeper 提交相應(yīng)的命令

可以通過命令:

echo stat|nc 127.0.0.1 2181 來查看哪個節(jié)點被選擇作為follower或者leader
echo ruok|nc 127.0.0.1 2181 測試是否啟動了該Server椒振,若回復imok表示已經(jīng)啟動。
echo dump| nc 127.0.0.1 2181 ,列出未經(jīng)處理的會話和臨時節(jié)點梧乘。
echo kill | nc 127.0.0.1 2181 ,關(guān)掉server
echo conf | nc 127.0.0.1 2181 ,輸出相關(guān)服務(wù)配置的詳細信息澎迎。
echo cons | nc 127.0.0.1 2181 ,列出所有連接到服務(wù)器的客戶端的完全的連接 / 會話的詳細信息。
echo envi |nc 127.0.0.1 2181 ,輸出關(guān)于服務(wù)環(huán)境的詳細信息(區(qū)別于 conf 命令)选调。
echo reqs | nc 127.0.0.1 2181 ,列出未經(jīng)處理的請求夹供。
echo wchs | nc 127.0.0.1 2181 ,列出服務(wù)器 watch 的詳細信息。
echo wchc | nc 127.0.0.1 2181 ,通過 session 列出服務(wù)器 watch 的詳細信息仁堪,它的輸出是一個與 watch 相關(guān)的會話的列表哮洽。
echo wchp | nc 127.0.0.1 2181 ,通過路徑列出服務(wù)器 watch 的詳細信息。它輸出一個與 session 相

③啟動kafka
[root@es-1 ~]#nohup /opt/elk/kafka_2.11-1.1.0/bin/kafka-server-start.sh /opt/elk/kafka_2.11-1.1.0/config/server.properties >>/dev/null 2>&1 &

[root@es-2 ~]# nohup /opt/elk/kafka_2.11-1.1.0/bin/kafka-server-start.sh /opt/elk/kafka_2.11-1.1.0/config/server.properties >>/dev/null 2>&1 &

[root@es-3 ~]# nohup /opt/elk/kafka_2.11-1.1.0/bin/kafka-server-start.sh /opt/elk/kafka_2.11-1.1.0/config/server.properties >>/dev/null 2>&1 &
④檢測kafka

#測試kafka 工作是否正常弦聂,新建一個topic

[root@es-1 bin]# /opt/elk/kafka_2.11-1.1.0/bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test

Created topic "test".

提示以下內(nèi)容證明沒有問題 Created topic "test".

#通過list 來查看

[root@es-1 ~]# /opt/elk/kafka_2.11-1.1.0/bin/kafka-topics.sh --zookeeper 192.168.205.155:2181 --list

test
⑤報錯解決
1)如果無法啟動zk集群或者kafka集群
解決辦法:
配置文件可能寫錯鸟辅,注意myid和配置文件要一致。
或者看kafka配置文件的log.dirs=對應(yīng)的目錄是否存在

上一篇:filebeat+ELK+kafka集群搭建(二:filebeat部署)
下一篇:filebeat+ELK+kafka集群搭建(四:logstash部署)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末横浑,一起剝皮案震驚了整個濱河市剔桨,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌徙融,老刑警劉巖洒缀,帶你破解...
    沈念sama閱讀 211,639評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異欺冀,居然都是意外死亡树绩,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,277評論 3 385
  • 文/潘曉璐 我一進店門隐轩,熙熙樓的掌柜王于貴愁眉苦臉地迎上來饺饭,“玉大人,你說我怎么就攤上這事职车√笨。” “怎么了?”我有些...
    開封第一講書人閱讀 157,221評論 0 348
  • 文/不壞的土叔 我叫張陵悴灵,是天一觀的道長扛芽。 經(jīng)常有香客問我,道長积瞒,這世上最難降的妖魔是什么川尖? 我笑而不...
    開封第一講書人閱讀 56,474評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮茫孔,結(jié)果婚禮上叮喳,老公的妹妹穿的比我還像新娘被芳。我一直安慰自己,他們只是感情好馍悟,可當我...
    茶點故事閱讀 65,570評論 6 386
  • 文/花漫 我一把揭開白布畔濒。 她就那樣靜靜地躺著,像睡著了一般赋朦。 火紅的嫁衣襯著肌膚如雪篓冲。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,816評論 1 290
  • 那天宠哄,我揣著相機與錄音壹将,去河邊找鬼。 笑死毛嫉,一個胖子當著我的面吹牛诽俯,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播承粤,決...
    沈念sama閱讀 38,957評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼暴区,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了辛臊?” 一聲冷哼從身側(cè)響起仙粱,我...
    開封第一講書人閱讀 37,718評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎彻舰,沒想到半個月后伐割,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,176評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡刃唤,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,511評論 2 327
  • 正文 我和宋清朗相戀三年隔心,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片尚胞。...
    茶點故事閱讀 38,646評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡硬霍,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出笼裳,到底是詐尸還是另有隱情唯卖,我是刑警寧澤,帶...
    沈念sama閱讀 34,322評論 4 330
  • 正文 年R本政府宣布躬柬,位于F島的核電站耐床,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏楔脯。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,934評論 3 313
  • 文/蒙蒙 一胯甩、第九天 我趴在偏房一處隱蔽的房頂上張望昧廷。 院中可真熱鬧堪嫂,春花似錦、人聲如沸木柬。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,755評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽眉枕。三九已至恶复,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間速挑,已是汗流浹背谤牡。 一陣腳步聲響...
    開封第一講書人閱讀 31,987評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留姥宝,地道東北人翅萤。 一個月前我還...
    沈念sama閱讀 46,358評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像腊满,于是被迫代替她去往敵國和親套么。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,514評論 2 348

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