CentOS7 搭建Kafka(一)zookeeper篇


CentOS7 搭建Kafka(一)zookeeper篇

近幾年當紅小生Kafka備受各路英雄好漢追捧,一點不比老前輩RabbitMQ和ActiveMQ差,因為流行,所以你就得學啊;我這么懶,肯定是不願意學的,流行也跟我沒啥關系,人工智能那么火我去學了么?好吧,我學了一點放棄了,學渣傷不起。我們部門和各個業務部都有對接,但每個業務部各自為政,還很強勢,各種技術都用,稍微有點要求滿足不了,那就要到領導去哭訴,所以用RabbitMQ的有、用Kafka的有,用RestfulAPI的有,走FileQueue也有,要直接對接數據庫Mysql、SqlServer、MongoDb的也有,你還沒轍,都得支持不是,o(︶︿︶)o 唉,還是會哭的孩子有奶吃啊,只能安慰一下自己多學學總歸是好的~。

簡介

kafka依賴zookeeper和jvm,jvm這里就不再說了,所以要搭建kafka首先要搞定zookeeper。

安裝

 wget -c -t 100 http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.12/zookeeper-3.4.12.tar.gz
 tar -zxvf zookeeper-3.4.12.tar.gz
 mv zookeeper-3.4.12 /opt/zookeeper_3.4
 mkdir zkdata
 mkdir zkdatalog
 cd /opt/zookeeper_3.4/conf
 cp zoo_sample.cfg zoo.cfg  #zoo.cfg是zookeeper的配置文件
 vi zoo.cfg

修改相關的值:

tickTime=2000  #作為服務器與服務器或客戶端之間的心跳時間間隔
initLimit=10   #接受客戶端初始化鏈接時最長能忍受多少個心跳間隔,當已經超過5個心跳時間長度后還沒有收到客戶端的返回信息,則表明客戶端鏈接失敗
syncLimit=5    #標識Leader和Follower之間請求和應答的時間長度不能操作多少個心跳間隔
dataDir=/opt/zookeeper/zkdata #快照日志的存儲路徑
dataLogDir=/opt/zookeeper/zkdatalog #事物日志的存儲邏輯,如果不配置的話那么事物日志會默認存儲到datadir中,會嚴重影響zookeeper的性能;
clientPort=2181 #客戶端鏈接服務端的端口

集群配置

首先在zoo.cfg中追加:

server.133=192.168.253.133:2888:3888 #集群的配置,沒集群你就不用配置啦,server.133中的133用於標識服務器,你用1、2、3也可以,只要是數字就行;
server.134=192.168.253.134:2888:3888 #192.168.253.134:2888:3888中的端口有兩個第一個端口是master和slave的通信端口,默認是2888,第二個端口是選舉端口,集群剛啟動或者leader掛掉的時候的端口,默認是3888

然后在data目錄下添加myid文件,存儲一個數值作為zookeeper server進程的標識:

133服務器:

echo "133">/opt/zookeeper_3.4/zkdata/myid

134服務器:

echo "134">/opt/zookeeper_3.4/zkdata/myid

啟動

/opt/zookeeper_3.4/bin/zkServer.sh start

鏈接

/opt/zookeeper_3.4/bin/zkCli.sh

關閉

/opt/zookeeper_3.4/bin/zkServer.sh start


免責聲明!

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



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