中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Zookeeper集群的搭建及介紹

發布時間:2021-07-28 18:02:55 來源:億速云 閱讀:155 作者:chen 欄目:云計算

本篇內容主要講解“Zookeeper集群的搭建及介紹”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Zookeeper集群的搭建及介紹”吧!

1.搭建

怎么搭建單機無安全校驗的就不說了,百度一搜一大堆。這里我就說說怎么搭建一個生產環境可用的Zookeeper集群

Zookeeper 3.4.13下載地址

Docker方式不太建議,要考慮的東西比較多,如果要用Docker方式還是比較建議自建鏡像,假如是Docker專家可以忽略本句。

以下介紹的都是Linux服務器下搭建(Winserver服務器的也是雷同)先操作單機,再copy到其他機器。下載完Zookeeper(下稱zk)后,進入zk解壓目錄下的conf文件夾,zoo_sample.cfg是zk的配置文件實例,Copy一個出來命名為zoo.cfg zk默認會讀這個配置。

配置詳解:

  • tickTime :心跳發送的間隔時間,用于判定Client是否斷開(默認2000ms)

  • dataDir :zk數據文件保存目錄,zk是基于文件來存儲配置的

  • clientPort :這個端口就是客戶端連接 zk 服務器的端口,zk 會監聽這個端口,接受客戶端的訪問請求。

  • initLimit:初始化Client時的重試次數(默認5次),判斷Client是否連接成功就是發initLimit次心跳,每tickTime發一次,如果都失敗了代表這個Client連接失敗了

  • syncLimit:這個配置項標識 Leader 與 Follower 之間發送消息,請求和應答時間長度,最長不能超過多少個 tickTime 的時間長度,總的時間長度就是 2*2000=4 秒

  • server.n = ip:port:electPort: n代表每個實例的序號,ip是實例的ip地址,port是實例間交互的端口,electPort是重新選舉Leader時的端口 (集群方式才用到, 單機可以注釋這個配置,之前問過大神,大神表示zk搭建至少3個實例比較穩當,這個與它自身的選舉機制有關)

  • maxClientCnxns: 最大Client連接數,業務需求并發大,機器比較強勁的就設置大點咯(默認60)

  • autopurge.snapRetainCount:自動清理snapshot和事務日志時保留的文件數(默認3個)

  • autopurge.purgeInterval: 清理頻率(單位小時, 默認是0代表不開啟,大于0代表開啟`)

如需使用Hosts請在每個實例所在的機器設置Hosts(/etc/hosts) 如:zk1 127.0.0.1

下面貼一下我的簡單配置:

# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial 
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between 
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just 
# example sakes.
dataDir=/data/zookeeper/data
# the port at which the clients will connect
clientPort=2181

server.1=zk1:2888:3888
server.2=zk2:2888:3888
server.3=zk2:2888:3888

2. 啟動

zk的腳本都放在zk/bin 目錄下

zkServer.sh 服務操作腳本(只介紹常用命令)

# 后臺啟動
./zkServer.sh start

# 前臺啟動
./zkServer.sh start-foreground

# 停止
./zkServer.sh stop

# 重啟
./zkServer.sh restart

# 查看狀態 (其中 Mode代表是Leader節點還是Follow節點)
./zkServer.sh status

zkCli.sh 是zk的客戶端,默認連接本機實例,可以通過進入ZkCli后執行ZooKeeper -server host:port cmd args去操作其他遠程實例

# 進入zk客戶端命令行操作
./zkCli.sh

列舉下一些常用命令(其他命令可以)

# 查看根目錄下節點
ls /path
get /path
# 查看節點狀態/屬性
stat /path
# 刪除節點
rmr /path
# 刪除節點下數據
delete /path [version]

3. 權限驗證

zk的權限驗證有3種方式,這里只介紹比較常用的兩種方式(先搭建好集群,權限設置會同步到整個集群):

第一步:新建節點 (如果給已有節點添加權限可忽略)

create /path "test" #創建節點和別名
1. 通過IP限制
#進入zkCli后的權限驗證設置命令 后面會介紹permission參數
setAcl /path ip:192.168.1.1:[permissions]
#也可以是ip段
setAcl /path ip:192.168.0.0/16:[permissions]
#驗證 本機校驗是通過的。可以用另一個ip段的來驗證
ls /path
2. 通過用戶+密碼控制

這種方式的密碼是BASE64(SHA1(原文密碼))出來的密文,怎樣生成保證成功的密文呢

#通過這個類計算出密文(對應的版本可以從zk/lib目錄下看到)
java -cp ./zookeeper-3.4.13.jar:./lib/log4j-1.2.17.jar:./lib/slf4j-log4j12-1.7.25.jar:./lib/slf4j-api-1.7.25.jar org.apache.zookeeper.server.auth.DigestAuthenticationProvider test:123456
#test是用戶名 password是密碼BASE64(SHA1(原文密碼))
setAcl /path digest:test:password:[permission]
# 校驗是否成功,現在肯定是成功的,但是重新進入zkCli就會失敗了
ls /path

#進入zkCli執行addAuth命令,這是類似登錄的功能 test是用戶名,123456是剛剛的原文
addauth digest test:123456

#然后再執行 ls命令 這時候就成功
ls /path
permission介紹

permission是用cdrwa來表示 如:

setAcl /path digest:test:password:cdw

每個字母分別代表的是:

  • CREATE(c): 創建權限,可以在在當前node下創建child node

  • DELETE(d): 刪除權限,可以刪除當前的node

  • READ(r): 讀權限,可以獲取當前node的數據,可以list當前node所有的child nodes

  • WRITE(w): 寫權限,可以向當前node寫數據

  • ADMIN(a): 管理權限,可以設置當前node的permission

到此,相信大家對“Zookeeper集群的搭建及介紹”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

蒙城县| 兴化市| 宁都县| 金乡县| 洛南县| 齐齐哈尔市| 河间市| 于田县| 同江市| 兴文县| 商洛市| 咸宁市| 新乡县| 定襄县| 平果县| 满城县| 黑水县| 沈丘县| 尼玛县| 龙门县| 云龙县| 上高县| 隆尧县| 黑龙江省| 壤塘县| 从江县| 岐山县| 昌吉市| 井陉县| 洛扎县| 延长县| 监利县| 永春县| 隆林| 岳池县| 东山县| 玛沁县| 张掖市| 封开县| 武山县| 旺苍县|