成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

zookeeper 高可用集群搭建

sherlock221 / 2983人閱讀

摘要:前言記錄集群搭建的過(guò)程什么是是一個(gè)分布式的,開(kāi)放源碼的分布式應(yīng)用程序協(xié)調(diào)服務(wù),是的一個(gè)開(kāi)源的實(shí)現(xiàn),是和的重要組件。

前言

記錄Zookeeper集群搭建的過(guò)程!

什么是 Zookeeper ?
ZooKeeper是一個(gè)分布式的,開(kāi)放源碼的分布式應(yīng)用程序協(xié)調(diào)服務(wù),是Google的Chubby一個(gè)開(kāi)源的實(shí)現(xiàn),是Hadoop和Hbase的重要組件。它是一個(gè)為分布式應(yīng)用提供一致性服務(wù)的軟件,提供的功能包括:配置維護(hù)、域名服務(wù)、分布式同步、組服務(wù)等。

劃重點(diǎn):分布式應(yīng)用程序協(xié)調(diào)服務(wù),在分布式系統(tǒng)中,通常需要一個(gè)通用的服務(wù)注冊(cè)與發(fā)現(xiàn)中心,因此Zookeeper就是充當(dāng)這樣的角色,國(guó)內(nèi)非常出名的分布式框架Dubbo也建議使用Zookeeper作為服務(wù)注冊(cè)與發(fā)現(xiàn)中心。

環(huán)境準(zhǔn)備

準(zhǔn)備三臺(tái)Linux虛擬機(jī),前往官網(wǎng)下載zookeeper壓縮包,如果不知道官網(wǎng)如何下載,可在公眾號(hào)「張少林同學(xué)」回復(fù)Java工具獲取網(wǎng)盤下載鏈接

| OS | 主機(jī)名 | ip | zookeeper/端口 |
| :-------: | :-------: | :-----------: | :--------------------------: |
| centos7 | LIHETEST6 | 192.168.2.216 | zookeeper-3.4.11.tar.gz/2181 |
| centos7 | LIHETEST7 | 192.168.2.217 | zookeeper-3.4.11.tar.gz/2181 |
| centos7 | LIHETEST8 | 192.168.2.218 | zookeeper-3.4.11.tar.gz/2181 |

配置服務(wù)器 hosts 映射

在三臺(tái)服務(wù)器分別做以下操作,這里以 LIHETEST6 為例:

查看本機(jī)主機(jī)名:hostname

vim /etc/hostname 刪除原有內(nèi)容,新增主機(jī)名:LIHETEST6

設(shè)置主機(jī)名及IP映射 : vim /etc/hosts 在文件尾部添加內(nèi)容,格式為: IP 地址 主機(jī)名 (中間用空格分割),保存退出,例如:192.168.2.216 LIHETEST6

重啟網(wǎng)絡(luò)服務(wù):systemctl restart network

單機(jī)部署

Zookeeper壓縮包上傳到服務(wù)器后,解壓

//上傳壓縮包
scp zookeeper-3.4.11.tar.gz [email protected]:/home/tools
//登錄到服務(wù)器目錄 解壓
tar -zxvf zookeeper-3.4.11.tar.gz
//進(jìn)入zookeeper主目錄
cd zookeeper-3.4.11

解壓后看看都有哪些內(nèi)容:

我們只需要把焦點(diǎn)定位到這兩個(gè)目錄:

bin目錄:腳本執(zhí)行目錄,里面放置一些Zookeeper啟動(dòng)腳本等

conf目錄:配置文件目錄

執(zhí)行腳本命令./bin/zkServer.sh start 啟動(dòng)Zookeeper,結(jié)果如下:

提示找不到 ../conf/zoo.cfg文件,但是最后卻打印STARTED,于是執(zhí)行./bin/zkServer.sh status看看當(dāng)前Zookeeper狀態(tài),結(jié)果如下:

上述結(jié)果很清晰明了了,Zookeeper啟動(dòng)失敗,原因是找不到配置文件:./conf/zoo.cfg,./bin/zkServer.sh start命令啟動(dòng)時(shí),默認(rèn)會(huì)使用此配置文件啟動(dòng),而初始化時(shí)./conf目錄下并無(wú)此文件,查看./conf中存在一個(gè)樣例配置文件./conf/zoo_sample.cfg,于是執(zhí)行cp ./conf/zoo_sample.cfg ./conf/zoo.cfg復(fù)制一份./conf/zoo.cfg文件出來(lái),再次執(zhí)行命令啟動(dòng)Zookeeper,結(jié)果如下:

可以看出Zookeeper已經(jīng)啟動(dòng)了,并且是單機(jī)模式啟動(dòng)。

再看看啟動(dòng)日志信息cat zookeeper.out:

zookeeper啟動(dòng),綁定在2181端口,查看一下進(jìn)程是否存在:netstat -lntp | grep 2181,結(jié)果如下:

tcp6       0      0 :::2181                 :::*                    LISTEN      27201/java 
配置文件解析

tickTime:客戶端與服務(wù)端保持心跳的毫秒數(shù)

initLimit:初始容忍的心跳數(shù)

syncLimit:等待最大容忍的心跳數(shù)

dataDir:存儲(chǔ)快照的目錄,這里默認(rèn)是使用系統(tǒng)臨時(shí)目錄,真實(shí)使用時(shí)建議自定義目錄

clientPort:暴露給客戶端訪問(wèn)的端口

單機(jī)偽集群部署

有時(shí)候我們會(huì)在本機(jī)搭建一個(gè)偽集群,用于項(xiàng)目代碼測(cè)試,那么只需要啟動(dòng)三個(gè)不同配置的Zookeeper即可,只要端口不同,即可視為不同的程序。

./conf目錄下新增zoo1.cfg,zoo2.cfg,zoo3.cfg配置文件,其中dataDir目錄依次都不同,clientPort分別配置為2181,2182,2183。啟動(dòng)Zookeeper時(shí),顯式指定配置文件,如:./bin/zkServer.sh start conf/zoo3.cfg ,依次啟動(dòng)三個(gè)Zookeeper配置文件。。那么最終執(zhí)行netstat -lntp看下端口監(jiān)聽(tīng)情況:

可以看到啟動(dòng)了三個(gè)監(jiān)聽(tīng)不同端口的Zookeeper.

多機(jī)集群部署

在真實(shí)生產(chǎn)環(huán)境中,我們一般會(huì)搭建一個(gè)多機(jī)器集群的,目的很明顯,為了提高容錯(cuò)能力。

在三臺(tái)機(jī)器中,每臺(tái)安裝一個(gè)Zookeeper服務(wù),這三臺(tái)機(jī)器形成一個(gè)小規(guī)模的集群。

在每臺(tái)機(jī)器中修改./conf/zoo.cfg配置文件如下:

  initLimit=10 // 初始容忍的心跳數(shù)
  syncLimit=5  // 等待最大容忍的心跳數(shù)
  dataDir=/home/wwwroot/easywits/tools/zookeeper-3.4.11/data    //數(shù)據(jù)存儲(chǔ)目錄
  dataLogDir=/home/wwwroot/easywits/tools/zookeeper-3.4.11/logs //數(shù)據(jù)日志文件目錄
  clientPort=2181 //zookeeper 監(jiān)聽(tīng)端口
  server.1=192.168.2.216:2888:3888 //主機(jī)ip/服務(wù)間心跳連接端口/數(shù)據(jù)端口
  server.2=192.168.2.217:2888:3888
  server.3=192.168.2.218:2888:3888

分別在每臺(tái)服務(wù)器 數(shù)據(jù)目錄 /home/wwwroot/easywits/tools/zookeeper-3.4.11/data 中新增名為 myid 文本文件,內(nèi)容依次為 0,1,2,這是集群中每臺(tái) Zookeeper服務(wù)的唯一標(biāo)識(shí),不能重復(fù),以第一臺(tái)為例:

echo "0"  > /home/wwwroot/easywits/tools/zookeeper-3.4.11/data/myid

啟動(dòng) Zookeeper : ./bin/zkServer.sh start

查看每臺(tái)服務(wù)器中,Zookeeper狀態(tài):./bin/zkServer.sh status,結(jié)果分別如下:

  Using config: /home/wwwroot/easywits/tools/zookeeper-3.4.11/bin/../conf/zoo.cfg
  Mode: follower

  Using config: /home/wwwroot/easywits/tools/zookeeper-3.4.11/bin/../conf/zoo.cfg
  Mode: leader

  Using config: /home/wwwroot/easywits/tools/zookeeper-3.4.11/bin/../conf/zoo.cfg
  Mode: follower

可以看到啟動(dòng)模式,第一臺(tái)與第三臺(tái)為follower,而第二臺(tái)為leader

注意:Zookeeper集群規(guī)模,機(jī)器數(shù)量只能是奇數(shù)個(gè),在三臺(tái)機(jī)器集群的情況下,最多只能掛掉其中一臺(tái),如果主節(jié)點(diǎn)掛掉,剩下兩臺(tái)服務(wù)會(huì)重新選舉一臺(tái)作為主節(jié)點(diǎn)。

總結(jié)

Zookeeper啟動(dòng)失敗,可以在./zookeeper.out文件查看異常日志

每臺(tái)機(jī)器的myid中內(nèi)容為服務(wù)的唯一標(biāo)識(shí),不能重復(fù)

確保每臺(tái)機(jī)器必須能ping通,必要時(shí)請(qǐng)先關(guān)閉防火墻

在阿里云服務(wù)器上,請(qǐng)使用內(nèi)網(wǎng)ip進(jìn)行配置

確保使用的端口未被占用

Zookeeper集群機(jī)器數(shù)量只能是奇數(shù)個(gè),詳見(jiàn) https://www.cnblogs.com/LeeSc...

ps:關(guān)于需要用到的工具,可在公眾號(hào)「張少林同學(xué)」回復(fù)Java工具獲取網(wǎng)盤下載鏈接

最后

記錄一波Zookeeper搭建過(guò)程,后續(xù)會(huì)不定期更新原創(chuàng)文章,歡迎關(guān)注公眾號(hào) 「張少林同學(xué)」!

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/73169.html

相關(guān)文章

  • 大數(shù)據(jù)入門指南(GitHub開(kāi)源項(xiàng)目)

    摘要:項(xiàng)目地址前言大數(shù)據(jù)技術(shù)棧思維導(dǎo)圖大數(shù)據(jù)常用軟件安裝指南一分布式文件存儲(chǔ)系統(tǒng)分布式計(jì)算框架集群資源管理器單機(jī)偽集群環(huán)境搭建集群環(huán)境搭建常用命令的使用基于搭建高可用集群二簡(jiǎn)介及核心概念環(huán)境下的安裝部署和命令行的基本使用常用操作分區(qū)表和分桶表視圖 項(xiàng)目GitHub地址:https://github.com/heibaiying... 前 言 大數(shù)據(jù)技術(shù)棧思維導(dǎo)圖 大數(shù)據(jù)常用軟件安裝指...

    guyan0319 評(píng)論0 收藏0
  • 可能是全網(wǎng)把 ZooKeeper 概念講的最清楚的一篇文章

    摘要:的設(shè)計(jì)目標(biāo)是將那些復(fù)雜且容易出錯(cuò)的分布式一致性服務(wù)封裝起來(lái),構(gòu)成一個(gè)高效可靠的原語(yǔ)集,并以一系列簡(jiǎn)單易用的接口提供給用戶使用。具有不可分割性即原語(yǔ)的執(zhí)行必須是連續(xù)的,在執(zhí)行過(guò)程中不允許被中斷。 該文已加入開(kāi)源文檔:JavaGuide(一份涵蓋大部分Java程序員所需要掌握的核心知識(shí))。地址:https://github.com/Snailclimb... showImg(https:...

    DrizzleX 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<