linux搭建zookeeper集群+kafka集群

一、zookeeper和kafka簡(jiǎn)介:
(1)ZooKeeper 是一個(gè)開(kāi)源的分布式協(xié)調(diào)服務(wù)晚岭,由雅虎創(chuàng)建,是 Google Chubby 的開(kāi)源實(shí)現(xiàn)痢法。分布式應(yīng)用程序可以基于 ZooKeeper 實(shí)現(xiàn)諸如數(shù)據(jù)發(fā)布/訂閱踩验、負(fù)載均衡荐虐、命名服務(wù)禽额、分布式協(xié)調(diào)/通知克伊、集群管理捏浊、Master 選舉懂衩、配置維護(hù),名字服務(wù)金踪、分布式同步浊洞、分布式鎖和分布式隊(duì)列等功能。
原文鏈接:https://blog.csdn.net/weijifeng_/article/details/79775738

在zookeeper的集群模式中胡岔,當(dāng)超過(guò)半數(shù)的服務(wù)器正常運(yùn)行時(shí)法希,整個(gè)集群才能夠正常運(yùn)行。如:當(dāng)集群機(jī)器數(shù)量為3時(shí)靶瘸,當(dāng)一臺(tái)服務(wù)器掛掉苫亦,正常運(yùn)行的服務(wù)器數(shù)還有2臺(tái)毛肋,集群依舊可以正常服務(wù),再掛掉一臺(tái)就不能正常服務(wù)了屋剑。

為什么推薦奇數(shù)臺(tái)機(jī)器呢润匙?當(dāng)集群機(jī)器數(shù)量為4時(shí),集群最多允許掛掉一臺(tái)服務(wù)器(掛掉2臺(tái)唉匾,集群中正常運(yùn)行的服務(wù)器沒(méi)超過(guò)半數(shù))孕讳,而集群機(jī)器數(shù)量為3時(shí),也是最多允許掛掉一臺(tái)服務(wù)器巍膘,在可靠性相同的情況下卫病,選擇3臺(tái)比選擇4臺(tái)會(huì)減少一臺(tái)服務(wù)器的資源。

因?yàn)橘Y源有限典徘,本文采用偽分布式集群模式,即一臺(tái)機(jī)器分別安裝部署3個(gè)zookeeper(Linux系統(tǒng))益咬,且版本號(hào)為3.4.14逮诲。

(2)Kafka是最初由Linkedin公司開(kāi)發(fā),是一個(gè)分布式幽告、分區(qū)的梅鹦、多副本的、多訂閱者冗锁,基于zookeeper協(xié)調(diào)的分布式日志系統(tǒng)(也可以當(dāng)做MQ系統(tǒng))齐唆,常見(jiàn)可以用于web/nginx日志、訪問(wèn)日志冻河,消息服務(wù)等等箍邮,Linkedin于2010年貢獻(xiàn)給了Apache基金會(huì)并成為頂級(jí)開(kāi)源項(xiàng)目。

主要應(yīng)用場(chǎng)景是:日志收集系統(tǒng)和消息系統(tǒng)叨叙。

Kafka主要設(shè)計(jì)目標(biāo)如下:
以時(shí)間復(fù)雜度為O(1)的方式提供消息持久化能力锭弊,即使對(duì)TB級(jí)以上數(shù)據(jù)也能保證常數(shù)時(shí)間的訪問(wèn)性能。
高吞吐率擂错。即使在非常廉價(jià)的商用機(jī)器上也能做到單機(jī)支持每秒100K條消息的傳輸味滞。
支持Kafka Server間的消息分區(qū),及分布式消費(fèi)钮呀,同時(shí)保證每個(gè)partition內(nèi)的消息順序傳輸剑鞍。
同時(shí)支持離線數(shù)據(jù)處理和實(shí)時(shí)數(shù)據(jù)處理。
支持在線水平擴(kuò)展爽醋。
原文鏈接:https://www.cnblogs.com/frankdeng/p/9310684.html

因?yàn)橘Y源有限蚁署,本文采用偽分布式集群模式,即一臺(tái)機(jī)器分別安裝部署3個(gè)kafka(Linux系統(tǒng))蚂四,且版本號(hào)為kafka_2.13-2.4.0形用。

二就轧、zookeeper集群的部署
1.在官網(wǎng)http://mirror.bit.edu.cn/apache/zookeeper/
下載zookeeper壓縮包后分別復(fù)制并解壓到home目錄下的zookeeper1,zookeeper2,和zookeeper3文件夾下田度。

2.分別在/home/zookeeper1/zookeeper-3.4.14/妒御,/home/zookeeper2/zookeeper-3.4.14/,/home/zookeeper3/zookeeper-3.4.14/目錄下創(chuàng)建data文件夾(用于存放zookeeper數(shù)據(jù))和logs文件夾(用于存放日志文件)镇饺。以zookeeper1為例:

cd /home/zookeeper1/zookeeper-3.4.14
mkdir data
mkdir logs

分別執(zhí)行以下命令copy配置文件乎莉,以zookeeper1為例:

cd /home/zookeeper1/zookeeper-3.4.14/conf
cp zoo_sample.cfg zoo.cfg

然后在zoo.cfg配置文件中分別設(shè)置數(shù)據(jù)和日志存放路徑,以zookeeper1為例:

dataDir=/home/zookeeper1/zookeeper-3.4.14/data
dataLogDir=/home/zookeeper1/zookeeper-3.4.14/logs
截圖

3.運(yùn)行以下命令分別創(chuàng)建zookeeper myid文件:

cd /home/zookeeper1/zookeeper-3.4.14/data
touch myid
vim myid

輸入1奸笤,按Esc+:wq保存退出惋啃。

cd /home/zookeeper2/zookeeper-3.4.14/data
touch myid
vim myid

輸入2,按Esc+:wq保存退出监右。

cd /home/zookeeper3/zookeeper-3.4.14/data
touch myid
vim myid

輸入3边灭,按Esc+:wq保存退出。

注意:myid是zookeeper服務(wù)下的標(biāo)識(shí)健盒,myid內(nèi)容不能重復(fù)绒瘦。

4.分別修改zoo.cfg配置文件信息,配置集群節(jié)點(diǎn):
vim /home/zookeeper1/zookeeper-3.4.14/conf/zoo.cfg
修改zookeeper1的運(yùn)行端口號(hào)為2181扣癣,并在尾部添加如下集群節(jié)點(diǎn)信息:

server.1=127.0.0.1:2888:3888
server.2=127.0.0.1:2889:3889
server.3=127.0.0.1:2890:3890

注意:server.X=A:B:C 其中X是一個(gè)數(shù)字, 表示這是第幾號(hào)server惰帽。A是該server所在的IP地址,B配置該server和集群中的leader交換消息所使用的端口父虑,C配置選舉leader時(shí)所使用的端口.该酗。如果配置的是偽集群模式, 那么各個(gè)server的B,C參數(shù)必須不同士嚎。


截圖

vim /home/zookeeper2/zookeeper-3.4.14/conf/zoo.cfg
修改zookeeper2的運(yùn)行端口號(hào)為2182呜魄,并在尾部添加如下集群節(jié)點(diǎn)信息:

server.1=127.0.0.1:2888:3888
server.2=127.0.0.1:2889:3889
server.3=127.0.0.1:2890:3890

vim /home/zookeeper3/zookeeper-3.4.14/conf/zoo.cfg
修改zookeeper3的運(yùn)行端口號(hào)為2183,并在尾部添加如下集群節(jié)點(diǎn)信息:

server.1=127.0.0.1:2888:3888
server.2=127.0.0.1:2889:3889
server.3=127.0.0.1:2890:3890

5.分別啟動(dòng)三個(gè)zookeeper并查看狀態(tài)莱衩,以zookeeper1為例:

cd /home/zookeeper1/zookeeper-3.4.14/bin
./zkServer.sh start
./zkServer.sh status

啟動(dòng)圖片分別如下:


截圖
截圖
截圖

查詢(xún)狀態(tài)圖片分別如下:


截圖
截圖
截圖

其中Mode:leader表示主機(jī)器耕赘,Mode:follower表示從機(jī)器,可參考以下集群角色介紹:


截圖

三膳殷、kafka的部署
1.在官網(wǎng)http://kafka.apache.org/downloads下載kafka壓縮包后分別復(fù)制并解壓到home目錄下的kafka1操骡,kafka2,和kafka3文件夾下。

2.分別在/home/kafka1/kafka_2.13-2.4.0/赚窃,/home/kafka2/kafka_2.13-2.4.0/册招,/home/kafka3/kafka_2.13-2.4.0/目錄下創(chuàng)建logs文件夾(用于存放日志文件)。
教程和上方zookeeper類(lèi)似勒极。

3.分別修改配置文件:
(1)vim /home/kafka1/kafka_2.13-2.4.0/config/server.properties
修改內(nèi)容如下:

broker.id=0           //需要保證每一臺(tái)kafka都有一個(gè)獨(dú)立的broker
listeners=PLAINTEXT://127.0.0.1:9092    //ip地址為本地的9092端口log.dirs=/home/kafka1/kafka_2.13-2.4.0/logs    //數(shù)據(jù)存放的目錄
zookeeper.connect=127.0.0.1:2181,127.0.0.1:2182,127.0.0.1:2183  //zookeeper的連接地址信息

(2)vim /home/kafka2/kafka_2.13-2.4.0/config/server.properties
修改內(nèi)容如下:

broker.id=1           //需要保證每一臺(tái)kafka都有一個(gè)獨(dú)立的broker
listeners=PLAINTEXT://127.0.0.1:9093    //ip地址為本地的9092端口log.dirs=/home/kafka2/kafka_2.13-2.4.0/logs    //數(shù)據(jù)存放的目錄
zookeeper.connect=127.0.0.1:2181,127.0.0.1:2182,127.0.0.1:2183  //zookeeper的連接地址信息

(3)vim /home/kafka3/kafka_2.13-2.4.0/config/server.properties
修改內(nèi)容如下:

broker.id=2           //需要保證每一臺(tái)kafka都有一個(gè)獨(dú)立的broker
listeners=PLAINTEXT://127.0.0.1:9094    //ip地址為本地的9092端口log.dirs=/home/kafka3/kafka_2.13-2.4.0/logs    //數(shù)據(jù)存放的目錄
zookeeper.connect=127.0.0.1:2181,127.0.0.1:2182,127.0.0.1:2183  //zookeeper的連接地址信息

4.在確保zookeeper集群已經(jīng)啟動(dòng)的情況下啟動(dòng)kafka集群:
分別進(jìn)入項(xiàng)目根目錄執(zhí)行以下命令啟動(dòng)kafka:

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

啟動(dòng)后效果如下:


截圖
截圖
截圖

每張圖片最下面的brokerId即為不同的服務(wù)標(biāo)識(shí)是掰。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市辱匿,隨后出現(xiàn)的幾起案子键痛,更是在濱河造成了極大的恐慌炫彩,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,402評(píng)論 6 499
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件絮短,死亡現(xiàn)場(chǎng)離奇詭異江兢,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)丁频,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,377評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門(mén)杉允,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人席里,你說(shuō)我怎么就攤上這事叔磷。” “怎么了奖磁?”我有些...
    開(kāi)封第一講書(shū)人閱讀 162,483評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵改基,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我咖为,道長(zhǎng)秕狰,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,165評(píng)論 1 292
  • 正文 為了忘掉前任案疲,我火速辦了婚禮,結(jié)果婚禮上麻养,老公的妹妹穿的比我還像新娘褐啡。我一直安慰自己,他們只是感情好鳖昌,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,176評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布备畦。 她就那樣靜靜地躺著,像睡著了一般许昨。 火紅的嫁衣襯著肌膚如雪懂盐。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,146評(píng)論 1 297
  • 那天糕档,我揣著相機(jī)與錄音莉恼,去河邊找鬼。 笑死速那,一個(gè)胖子當(dāng)著我的面吹牛俐银,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播端仰,決...
    沈念sama閱讀 40,032評(píng)論 3 417
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼捶惜,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了荔烧?” 一聲冷哼從身側(cè)響起吱七,我...
    開(kāi)封第一講書(shū)人閱讀 38,896評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤汽久,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后踊餐,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體景醇,經(jīng)...
    沈念sama閱讀 45,311評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,536評(píng)論 2 332
  • 正文 我和宋清朗相戀三年市袖,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了啡直。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,696評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡苍碟,死狀恐怖酒觅,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情微峰,我是刑警寧澤舷丹,帶...
    沈念sama閱讀 35,413評(píng)論 5 343
  • 正文 年R本政府宣布,位于F島的核電站蜓肆,受9級(jí)特大地震影響颜凯,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜仗扬,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,008評(píng)論 3 325
  • 文/蒙蒙 一症概、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧早芭,春花似錦彼城、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,659評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至语盈,卻和暖如春舱馅,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背刀荒。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,815評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工代嗤, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人缠借。 一個(gè)月前我還...
    沈念sama閱讀 47,698評(píng)論 2 368
  • 正文 我出身青樓资溃,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親烈炭。 傳聞我的和親對(duì)象是個(gè)殘疾皇子溶锭,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,592評(píng)論 2 353