内射老阿姨1区2区3区4区_久久精品人人做人人爽电影蜜月_久久国产精品亚洲77777_99精品又大又爽又粗少妇毛片

Zookeeper的配置與集群管理方法是什么-創(chuàng)新互聯(lián)

這篇文章主要講解了“Zookeeper的配置與集群管理方法是什么”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“Zookeeper的配置與集群管理方法是什么”吧!

成都創(chuàng)新互聯(lián),為您提供網(wǎng)站建設(shè)、成都網(wǎng)站制作、網(wǎng)站營銷推廣、網(wǎng)站開發(fā)設(shè)計,對服務(wù)紙箱等多個行業(yè)擁有豐富的網(wǎng)站建設(shè)及推廣經(jīng)驗。成都創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司成立于2013年,提供專業(yè)網(wǎng)站制作報價服務(wù),我們深知市場的競爭激烈,認(rèn)真對待每位客戶,為客戶提供賞心悅目的作品。 與客戶共同發(fā)展進(jìn)步,是我們永遠(yuǎn)的責(zé)任!

4.1 配置文件

ZooKeeper安裝好之后,在安裝目錄的conf文件夾下可以找到一個名為“zoo_sample.cfg”的文件,是ZooKeeper配置文件的模板。

ZooKeeper啟動時,會默認(rèn)加載“conf/zoo.cfg”作為配置文件,所以需要將“zoo_sample.cfg”復(fù)制一份,命名為“zoo.cfg”,然后根據(jù)需要設(shè)定里面的配置項。

配置項很簡單,說明如下:

tickTime=2000

這個時間是作為 ZooKeeper服務(wù)器之間或客戶端與服務(wù)器之間維持心跳的時間間隔,也就是每個 tickTime 時間就會發(fā)送一個心跳。單位為毫秒。

initLimit=10

這個配置項是用來配置 Leader接受Follower 初始化連接時最長能忍受多少個心跳時間間隔數(shù)。當(dāng)已經(jīng)超過 10 個心跳的時間(也就是 tickTime)長度后 Leader還沒有收到Follower的返回信息,那么表明這個Follower連接失敗??偟臅r間長度就是 5*2000=10 秒。

syncLimit=5

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

dataDir=/tmp/zookeeper

顧名思義就是 ZooKeeper保存數(shù)據(jù)的目錄,用于存放內(nèi)存數(shù)據(jù)庫快照的文件夾,同時用于集群的myid文件也存在這個文件夾里。默認(rèn)情況下,ZooKeeper 將寫數(shù)據(jù)的日志文件也保存在這個目錄里。注意:一個配置文件只能包含一個dataDir字樣,即使它被注釋掉了。

clientPort=2181

這個端口就是客戶端連接 ZooKeeper服務(wù)器的端口,ZooKeeper 會監(jiān)聽這個端口,接受客戶端的訪問請求。

maxClientCnxns=60

大的客戶端連接數(shù),默認(rèn)為60.

autopurge.snapRetainCount=3

autopurge.purgeInterval=1

客戶端在與ZooKeeper交互過程中會產(chǎn)生非常多的日志,而且ZooKeeper也會將內(nèi)存中的數(shù)據(jù)作為snapshot保存下來,這些數(shù)據(jù)是不會被自動刪除的,這樣磁盤中這些數(shù)據(jù)就會越來越多。不過可以通過這兩個參數(shù)來設(shè)置,讓zookeeper自動刪除數(shù)據(jù)。autopurge.purgeInterval就是設(shè)置多少小時清理一次。而autopurge.snapRetainCount是設(shè)置保留多少個snapshot,之前的則刪除。

4.2 服務(wù)端命令

“zkServer.sh”腳本用于執(zhí)行Zookeeper的啟動、停止及狀態(tài)查看等操作

利用“zkServer.sh help”命令,可以查看支持的參數(shù):

Zookeeper的配置與集群管理方法是什么

可見,“zkServer.sh”可以附帶的參數(shù)有:

(1)start:用于啟動服務(wù)端

(2)stop:用于停止服務(wù)端

(3)restart:用于重啟服務(wù)端

(4)status:用于查看服務(wù)端狀態(tài)

以及用于前臺啟動、更新等操作的其他參數(shù)。

例如,使用命令“zkServer.sh start”啟動ZooKeeper服務(wù)端,該命令后面可以附帶參數(shù),用于指定配置文件的路徑,比如“zkServer.sh start ../conf/ZooKeeper.cfg”,代表使用ZooKeeper.cfg作為配置文件,如果不指定路徑,默認(rèn)加載“conf/zoo.cfg”文件:

Zookeeper的配置與集群管理方法是什么

使用“zkServer.sh stop”停止服務(wù)端:

Zookeeper的配置與集群管理方法是什么

4.3 客戶端命令

使用命令“zkCli.sh -server 127.0.0.1:2181”可以連接到IP為“127.0.0.1”,端口為“2181”的ZooKeeper服務(wù)器。如果連接本機(jī)的2181端口,則后面的參數(shù)可以省略。如:

Zookeeper的配置與集群管理方法是什么

此時,輸入“help”可以查看命令參數(shù):

Zookeeper的配置與集群管理方法是什么

4.3.1 查看節(jié)點列表

在前面已經(jīng)提到過,ZooKeeper維護(hù)者一個樹形的數(shù)據(jù)結(jié)構(gòu),根節(jié)點為“/”。

ls path”用于查看路徑path下的所有直接子節(jié)點:

Zookeeper的配置與集群管理方法是什么

可見,系統(tǒng)初始化的時候,根節(jié)點下會自動創(chuàng)建一個名為“zookeeper”的節(jié)點,用于存儲ZooKeeper的管理信息。所以用戶不能再根節(jié)點下創(chuàng)建同名的子節(jié)點。

4.3.2 創(chuàng)建新節(jié)點

“create path data”用于在path路徑下創(chuàng)建一個新節(jié)點,攜帶數(shù)據(jù)data。

例如,在根節(jié)點下新建一個名為“firstNode”節(jié)點,存儲的數(shù)據(jù)為“HelloWorld”:

./zkClient.sh -server 127.0.01

create /firstNode HelloWorld

Zookeeper的配置與集群管理方法是什么

4.3.3 查看節(jié)點數(shù)據(jù)

“get path”用于獲取path節(jié)點下的數(shù)據(jù),例如:

get /firstNode

Zookeeper的配置與集群管理方法是什么

除了返回節(jié)點存儲的數(shù)據(jù)之外,還有一系列的元信息,如代表節(jié)點創(chuàng)建時間的“cZxid”、“ctime”(兩種表示方法);節(jié)點的修改時間“mZxid”、“mtime”等。

4.3.4 修改節(jié)點數(shù)據(jù)

set path data ”用于將path節(jié)點下的數(shù)據(jù)更改為data。

如,將“/firstNode”下的數(shù)據(jù)更改為“WorldHello”:

set /firstNode WorldHello

Zookeeper的配置與集群管理方法是什么

4.3.5 刪除節(jié)點

“delete path”用于刪除path節(jié)點。

如,刪除“/firstNode”節(jié)點:

delete /firstNode

Zookeeper的配置與集群管理方法是什么

此外,還有用于設(shè)置節(jié)點ACL、查看節(jié)點狀態(tài)等其他命令,需要時可以查閱相關(guān)手冊。

4.4 ZooKeeper四字命令

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

如:

ZooKeeper四字命令

conf

功能描述

輸出相關(guān)服務(wù)配置的詳細(xì)信息

cons

列出所有連接到服務(wù)器的客戶端的完全的連接 / 會話的詳細(xì)信息。包括“接受 / 發(fā)送”的包數(shù)量、會話 id 、操作延遲、最后的操作執(zhí)行等等信息

dump

列出未經(jīng)處理的會話和臨時節(jié)點

envi

輸出關(guān)于服務(wù)環(huán)境的詳細(xì)信息(區(qū)別于 conf 命令)

reqs

列出未經(jīng)處理的請求

ruok

測試服務(wù)是否處于正確狀態(tài)。如果確實如此,那么服務(wù)返回“ imok ”,否則不做任何相應(yīng)

stat

輸出關(guān)于性能和連接的客戶端的列表

wchs

列出服務(wù)器 watch 的詳細(xì)信息

wchc

通過 session 列出服務(wù)器 watch 的詳細(xì)信息,它的輸出是一個與 watch 相關(guān)的會話的列表

wchp

通過路徑列出服務(wù)器 watch 的詳細(xì)信息。它輸出一個與 session 相關(guān)的路徑


例如,查看配置信息:

“echo conf | nc 127.0.0.1 2181”:

nc為“NetCat”工具提供的命令,通常的Linux發(fā)行版中都帶有NetCat。NetCat在網(wǎng)絡(luò)工具中有“瑞士刀”美譽(yù),被設(shè)計為一個簡單、可靠的網(wǎng)絡(luò)工具,可通過TCP或UDP協(xié)議傳輸讀寫數(shù)據(jù)。

該命令的意思為,將“conf”命令傳遞給127.0.0.1的2181端口(即本機(jī)的ZooKeeper服務(wù)端口),并將響應(yīng)打印出來:

Zookeeper的配置與集群管理方法是什么

在一臺機(jī)器上運(yùn)營一個ZooKeeper實例,稱之為單機(jī)(Standalone)模式。單機(jī)模式有個致命的缺陷,一旦唯一的實例掛了,依賴ZooKeeper的應(yīng)用全得完蛋。

實際應(yīng)用當(dāng)中,一般都是采用集群模式來部署ZooKeeper,集群中的Server為奇數(shù)(2N+1)。只要集群中的多數(shù)(大于N+1臺)Server活著,集群就能對外提供服務(wù)。

在每臺機(jī)器上部署一個ZooKeeper實例,多臺機(jī)器組成集群,稱之為完全分布式集群。此外,還可以在僅有的一臺機(jī)器上部署多個ZooKeeper實例,以偽集群模式運(yùn)行。

5.1 集群配置

下面我們來建一個3個實例的zookeeper偽分布式集群。

首先,需要為三個實例創(chuàng)建不同的配置文件:

zk1.cfg的配置項如下:

 tickTime=2000

 initLimit=10

 syncLimit=5

 dataDir=/zk1/dataDir

 clientPort=2181

 server.1=127.0.0.1:2888:3888

 server.2=127.0.0.1:2889:3889

 server.3=127.0.0.1:2890:3890
zk2.cfg的配置項如下:

 tickTime=2000

 initLimit=10

 syncLimit=5

 dataDir=/zk2/dataDir

 clientPort=2182

 server.1=127.0.0.1:2888:3888

 server.2=127.0.0.1:2889:3889

 server.3=127.0.0.1:2890:3890
zk3.cfg的配置項如下:

tickTime=2000

initLimit=10

syncLimit=5

dataDir=/zk3/dataDir

clientPort=2183

server.1=127.0.0.1:2888:3888

server.2=127.0.0.1:2889:3889

server.3=127.0.0.1:2890:3890

因為部署在同一臺機(jī)器上,所以每個實例的dataDir、clientPort要做區(qū)分,其余配置保持一致。

需要注意的是,集群中所有的實例作為一個整體對外提供服務(wù),集群中每個實例之間都互相連接,所以,每個配置文件中都要列出所有實例的映射關(guān)系。

在每個配置文件的末尾,有幾行“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 實例通信端口號不能一樣,所以要給它們分配不同的端口號。

除了修改 zoo.cfg 配置文件,集群模式下還要配置一個myid文件,這個文件在 dataDir 目錄下,文件里只有一個數(shù)據(jù),就是 A 的值(第幾號服務(wù)器),Zookeeper 啟動時會讀取這個文件,拿到里面的數(shù)據(jù)與配置信息比較從而判斷到底是那個 Server。

上例中,需要在每個實例各自的dataDir目錄下,新建myid文件,分別填寫“1”、“2”、“3”。

5.2 集群啟動

依次啟動三個實例:

Zookeeper的配置與集群管理方法是什么

查看Server狀態(tài):

Zookeeper的配置與集群管理方法是什么

可見,現(xiàn)在的集群中,zk2充當(dāng)著Leader角色,而zk1與zk3充當(dāng)著Follower角色。

使用三個客戶端連接三個Server,在zk1的客戶端下,新增“/newNode”節(jié)點,儲存數(shù)據(jù)“zk1”:

Zookeeper的配置與集群管理方法是什么

在zk2的客戶端與查看該節(jié)點:

Zookeeper的配置與集群管理方法是什么

在zk3的客戶端與查看該節(jié)點:

Zookeeper的配置與集群管理方法是什么

可見,集群中的Server保持著數(shù)據(jù)同步。

5.3 集群容災(zāi)

如果我們把身為Leader的zk2關(guān)閉,會發(fā)生什么呢?

Zookeeper的配置與集群管理方法是什么

可見,集群自動完成了切換,zk3變成了Leader。實際應(yīng)用中,如果集群中的Leader宕機(jī)了,或者Leader與超過半數(shù)的Follower失去聯(lián)系,都會觸發(fā)ZooKeeper的選舉流程,選舉出新的Leader之后繼續(xù)對外服務(wù)。

如果我們再把zk3關(guān)閉,會發(fā)生什么呢?

Zookeeper的配置與集群管理方法是什么

可見,關(guān)閉zk3以后,由于集群中的可用Server只剩下一臺(達(dá)不到集群總數(shù)的半數(shù)以上),集群將處于不可用的狀態(tài)。

感謝各位的閱讀,以上就是“Zookeeper的配置與集群管理方法是什么”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對Zookeeper的配置與集群管理方法是什么這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!

網(wǎng)站標(biāo)題:Zookeeper的配置與集群管理方法是什么-創(chuàng)新互聯(lián)
URL鏈接:http://www.rwnh.cn/article30/dggspo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作、搜索引擎優(yōu)化、微信小程序網(wǎng)站導(dǎo)航、網(wǎng)站營銷、網(wǎng)站改版

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)
濉溪县| 太湖县| 塔城市| 福泉市| 什邡市| 丰镇市| 日喀则市| 崇州市| 正蓝旗| 乌拉特后旗| 巧家县| 濉溪县| 突泉县| 文山县| 谷城县| 治县。| 历史| 邵东县| 兴城市| 胶南市| 嘉黎县| 赞皇县| 斗六市| 天水市| 大冶市| 綦江县| 金坛市| 庄河市| 武冈市| 南阳市| 玛曲县| 平南县| 正蓝旗| 哈巴河县| 吉安市| 武川县| 三门县| 西昌市| 驻马店市| 邹城市| 安乡县|