真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

zookeeper的安裝配置及簡單使用-創(chuàng)新互聯(lián)

===> Zookeeper 是什么?

創(chuàng)新互聯(lián)從2013年開始,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元漢壽做網(wǎng)站,已為上家服務(wù),為漢壽各地企業(yè)和個人服務(wù),聯(lián)系電話:18982081108

        => ZooKeeper是一個分布式的,開放源碼的分布式應(yīng)用程序協(xié)調(diào)服務(wù),是Google的Chubby一個開源的實(shí)現(xiàn),是Hadoop和Hbase的重要組件。

                => ZooKeeper包含一個簡單的原語集,提供Java和C的接口。

                => ZooKeeper代碼版本中,提供了分布式獨(dú)享鎖、選舉、隊(duì)列的接口,代碼在zookeeper-3.4.3\src\recipes。其中分布鎖和隊(duì)列有Java和C兩個版本,選舉只有Java版本

===> Zookeeper應(yīng)用場景(功能):

                => 它是一個為分布式應(yīng)用提供一致性服務(wù)的軟件,提供的功能包括:

                        配置維護(hù)、域名服務(wù)、分布式同步、組服務(wù)等。

                => ZooKeeper的目標(biāo)就是封裝好復(fù)雜易出錯的關(guān)鍵服務(wù),將簡單易用的接口和性能高效、功能穩(wěn)定的系統(tǒng)提供給用戶。

===> Zookeeper體系結(jié)構(gòu)

zookeeper 的安裝配置及簡單使用

===> Zookeeper 工作原理:

                => Zookeeper 的核心是原子廣播,這個機(jī)制保證了各個Server之間的同步。實(shí)現(xiàn)這個機(jī)制的協(xié)議叫做Zab協(xié)議。

                => Zab協(xié)議有兩種模式: 恢復(fù)模式(選主)廣播模式(同步)

                    當(dāng)服務(wù)啟動或者在領(lǐng)導(dǎo)者崩潰后,Zab就進(jìn)入了恢復(fù)模式,當(dāng)領(lǐng)導(dǎo)者被選舉出來,且大多數(shù)Server完成了和 leader的狀態(tài)同步以后,恢復(fù)模式就結(jié)束了。

              (★)狀態(tài)同步保證了leader和Server具有相同的系統(tǒng)狀態(tài)。 

                => 為了保證事務(wù)的順序一致性,zookeeper采用了遞增的事務(wù)id號(zxid)來標(biāo)識事務(wù)。所有的提議(proposal)都在被提出的時候加上了zxid。

                    實(shí)現(xiàn)中zxid是一個64位的數(shù)字,它高32位是epoch用來標(biāo)識leader關(guān)系是否改變,每次一個leader被選出來,它都會有一個新的epoch,標(biāo)識當(dāng)前屬于那個leader的統(tǒng)治時期。

                    低32位用于遞增計(jì)數(shù)。

             (★)對于客戶端來說,ZooKeeper是一個整體(ensemble),連接到ZooKeeper集群實(shí)際上感覺在獨(dú)享整個集群的服務(wù),so,你可以在任何一個結(jié)點(diǎn)上建立到服務(wù)集群的連接


 ===> Zookeeper 安裝

    =>搭建ZooKeeper的集群環(huán)境

        1、三臺:bigdata12 bigdata13 bigdata14

          時間同步

        2、在bigdata12上進(jìn)行安裝

          (*) 解壓 tar -zxvf zookeeper-3.4.10.tar.gz -C ~/training/

          (*) 設(shè)置環(huán)境變量:每臺機(jī)器上

        ZOOKEEPER_HOME=/root/training/zookeeper-3.4.10

        export ZOOKEEPER_HOME


        PATH=$ZOOKEEPER_HOME/bin:$PATH

        export PATH

          (*)核心的配置文件: conf/zoo.cfg

        mkdir /root/training/zookeeper-3.4.10/tmp

        編輯 zoo.cfg

        dataDir=/root/training/zookeeper-3.4.10/tmp


        server.1=bigdata12:2888:3888

        server.2=bigdata13:2888:3888

        server.3=bigdata14:2888:3888

        在/root/training/zookeeper-3.4.10/tmp目錄創(chuàng)建文件: myid

        輸入 1

        3、把bigdata12的ZK復(fù)制到其他的節(jié)點(diǎn)

          scp -r zookeeper-3.4.10/ root@bigdata13:/root/training

          scp -r zookeeper-3.4.10/ root@bigdata14:/root/training

        4、修改bigdata13和bigdata14上的myid文件

        5、在每臺機(jī)器上,啟動ZK: zkServer.sh start

===> 配置文件

            => zookeeper-3.3.3/conf文件夾下面(可以把默認(rèn)的zoosample.cfg復(fù)制一份到zoo.cfg),配置文件zoo.cfg需要在每臺服務(wù)器中都要編寫,以下是一個配置文件的樣本:

                # Filename zoo.cfg


                tickTime=2000


                dataDir=/home/zookeeper/data


                clientPort=2181


                initLimit=5


                syncLimit=2


                server.1=202.115.36.251:2888:3888


                server.2=202.115.36.241:2888:3888


                server.3=202.115.36.242:2888:3888

                initLimit:這個配置項(xiàng)是用來配置 Zookeeper 接受客戶端(這里所說的客戶端不是用戶連接 Zookeeper 服務(wù)器的客戶端,而是 Zookeeper 服務(wù)器集群中連接到 Leader 的                 Follower 服務(wù)器)初始化連接時最長能忍受多少個心跳時間間隔數(shù)。當(dāng)已經(jīng)超過 10 個心跳的時間(也就是 tickTime)長度后 Zookeeper 服務(wù)器還沒有收到客戶端的返回信息,

            那么表明這個客戶端連接失敗。總的時間長度就是 5*2000=10 秒。

                syncLimit:這個配置項(xiàng)標(biāo)識 Leader 與 Follower 之間發(fā)送消息,請求和應(yīng)答時間長度,最長不能超過多少個 tickTime 的時間長度,總的時間長度就是 2*2000=4 秒

                server.A=B:C:D

                        A 是一個數(shù)字,表示這個是第幾號服務(wù)器;

                        B 是這個服務(wù)器的 ip 地址;

                        C 表示的是這個服務(wù)器與集群中的 Leader 服務(wù)器交換信息的端口;

                        D 表示的是萬一集群中的 Leader 服務(wù)器掛了,需要一個端口來重新進(jìn)行選舉,選出一個新的 Leader,而這個端口就是用來執(zhí)行選舉時服務(wù)器相互通信的端口。

                        如果是偽集群的配置方式,由于 B 都是一樣,所以不同的 Zookeeper 實(shí)例通信端口號不能一樣,所以要給它們分配不同的端口號。

             => 創(chuàng)建myid文件

                除了修改 zoo.cfg 配置文件,集群模式下還要配置一個文件 myid,這個文件在 dataDir 目錄下,這個文件里面就只有一個數(shù)據(jù)就是 A 的值,Zookeeper 啟動時會讀取這個文

                件,拿到里面的數(shù)據(jù)與 zoo.cfg 里面的配置信息比較從而判斷到底是那個 server。這個myid的值要和配置文件中的server.x=ip:port:port中的x一致。

                echo 1 > myid


===> Zookeeper 操作

         => 查看zookeeper 的狀態(tài): zkServer.sh status


        => 通過 zookeeper 客戶端連接:

                zkCli.sh -server 192.168.10.221:2181


        => 查看znode節(jié)點(diǎn):


                ls /


        => 創(chuàng)建znode節(jié)點(diǎn)(數(shù)據(jù)):


                create /test "hello"


        => 獲取znode節(jié)點(diǎn)數(shù)據(jù):


                get /test


      => 修改znode節(jié)點(diǎn)數(shù)據(jù):

                set /test "word"


        => 刪除znode 節(jié)點(diǎn):

                delete /test


===> 清除zk狀態(tài)

        當(dāng)在zk上已經(jīng)做了很多事情,配置已經(jīng)比較雜亂,現(xiàn)在想重新初始化一下,也就是把所有狀態(tài)刪除,步驟是:

        => 關(guān)閉所有zk節(jié)點(diǎn),用zkServer.sh status查看是否關(guān)閉

        => 刪除zoo.cfg定義的數(shù)據(jù)文件夾下的所有文件,除了myid文件外

        => 啟動zk節(jié)點(diǎn)

        現(xiàn)在配置就重置了

===> 常見問題

        在用zkCli.sh啟動客戶端時,Will not attempt to authenticate using SASL (無法定位登錄配置)

        這是由于沒有啟用用戶驗(yàn)證導(dǎo)致的,不影響使用,但影響安全性。SASL 即:Simple Authentication and Security Layer

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。


網(wǎng)站題目:zookeeper的安裝配置及簡單使用-創(chuàng)新互聯(lián)
路徑分享:http://weahome.cn/article/cdcjss.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部