日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

liunx 安装 zookeeper(转)

發布時間:2025/6/17 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 liunx 安装 zookeeper(转) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
轉自:https://www.cnblogs.com/expiator/p/9853378.html

linux安裝zookeeper及使用

一、安裝條件

想要安裝zookeeper,必須先在linux中安裝好jdk。安裝步驟見:

https://www.cnblogs.com/expiator/p/9987351.html

二、下載并解壓zookeeper壓縮包

1. 先進入/usr/local/目錄,也可以是其他的目錄:

[root@localhost /]# cd /usr/local

2. zookeeper安裝包可以在官網下載。

也可以在后面這個地址下載??http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.13/zookeeper-3.4.13.tar.gz

如果鏈接打不開,就先打開?http://mirror.bit.edu.cn/apache/zookeeper?, 再選擇版本。

在此目錄下載zookeeper安裝包:

[root@localhost local]# wget http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.13/zookeeper-3.4.13.tar.gz

3. 解壓:

[root@localhost local]# tar -zxvf zookeeper-3.4.13.tar.gz

三、編輯配置文件

1.進入conf目錄:

[root@localhost local]# cd zookeeper-3.4.13/conf

2. 將zoo_sample.cfg這個文件復制為zoo.cfg (必須是這個文件名)

[root@localhost conf]# cp zoo_sample.cfg zoo.cfg

3. 進入zoo.cfg文件進行編輯

[root@localhost conf]# vim zoo.cfg

4. 按 i 進入編輯模式,修改以下內容:

dataDir=/tmp/zookeeper/data dataLogDir=/tmp/zookeeper/log

注意:如果想配置集群的話,請在clientPort下面添加服務器的ip。如

server.1=192.168.180.132:2888:3888
server.2=192.168.180.133:2888:3888

server.3=192.168.180.134:2888:3888
如果電腦內存比較小,zookeeper還可以設置成偽集群。也就是全部服務器采用同一個ip,但是使用不同的端口。

5. 在tmp目錄創建目錄。

[root@localhost conf]# mkdir /tmp/zookeeper

[root@localhost conf]# mkdir /tmp/zookeeper/data [root@localhost conf]# mkdir /tmp/zookeeper/log

?6.如果是配置集群,還需要在前面配置過的dataDir路徑下新增myid文件

[root@localhost conf]# cd /tmp/zookeeper/data

[root@localhost data]# touch myid [root@localhost data]# vim myid


在data目錄下創建文件,文件名為“myid”, 編輯該“myid”文件,并在對應的IP的機器上輸入對應的編號。
如在192.168.180.132上,“myid”文件內容就是1。在192.168.180.133上,內容就是2。

四、配置環境變量

1.上面的操作都完事之后,我們需要配置一下環境變量,配置環境變量的命令如下:

[root@localhost zookeeper-3.4.13]# export ZOOKEEPER_INSTALL=/usr/local/zookeeper-3.4.13/ [root@localhost zookeeper-3.4.13]# export PATH=$PATH:$ZOOKEEPER_INSTALL/bin

?

五、啟動zookeeper

1.進入bin目錄,并啟動zookeep。如果不是在bin目錄下執行,啟動zookeeper時會報錯: bash: ./zkServer.sh:? No such file or directory

注意:??./zkServer.sh start前面的 .? 不可忽略。

[root@localhost local]# cd /usr/local/zookeeper-3.4.13/bin [root@localhost bin]# ./zkServer.sh start

2.啟動成功效果如下:

ZooKeeper JMX enabled by default Using config: /usr/local/zookeeper-3.4.13/bin/../conf/zoo.cfg Starting zookeeper ... STARTED

3.zookeeper的服務端啟動后,還需要啟動zookeeper的客戶端:

[root@localhost bin]# ./zkCli.sh

如果是連接多個不同的主機節點,可以使用如下命令:

./zkCli.sh -server 192.168.180.132:2888

啟動成功效果如下:

Connecting to localhost:2181
..........
..........
..........
Welcome to ZooKeeper! 2018-10-25 21:04:54,407 [myid:] - INFO [main-SendThread(localhost:2181):ClientCnxn$SendThread@1029] - Opening socket connection to server localhost/0:0:0:0:0:0:0:1:2181. Will not attempt to authenticate using SASL (unknown error) JLine support is enabled 2018-10-25 21:04:54,471 [myid:] - INFO [main-SendThread(localhost:2181):ClientCnxn$SendThread@879] - Socket connection established to localhost/0:0:0:0:0:0:0:1:2181, initiating session [zk: localhost:2181(CONNECTING) 0] 2018-10-25 21:04:54,501 [myid:] - INFO [main-SendThread(localhost:2181):ClientCnxn$SendThread@1303] - Session establishment complete on server localhost/0:0:0:0:0:0:0:1:2181, sessionid = 0x10000712e6f0000, negotiated timeout = 30000WATCHER::WatchedEvent state:SyncConnected type:None path:null

?

4.查看狀態:

[root@localhost bin]# ./zkServer.sh status ZooKeeper JMX enabled by default Using config: /usr/local/zookeeper-3.4.13/bin/../conf/zoo.cfg Mode: standalone

遇到問題怎么解決?

zookeeper的出錯日志會記錄在?zookeeper.out。

當前處于哪個目錄,執行完zkServer.sh start命令,?zookeeper.out就會寫在哪個目錄。

vim zookeeper.out 可以查看報錯信息。然后再搜索解決。

六、zookeeper使用

通過 ./zkCli.sh 進入客戶端后,就可以使用命令來操作zookeeper了。

1.創建節點

使用create命令,可以創建一個zookeeper節點。

create [-s] ? [-e]? path? data? acl

其中-s表示順序節點,-e表示臨時節點。默認情況下,創建的是持久節點。

path是節點路徑,data是節點數據,acl是用來進行權限控制的。

如下:

創建一個叫做/zk-test的節點,內容是"123"

[zk: localhost:2181(CONNECTED) 0] create /zk-test 123
Created /zk-test

創建/zk-test的子節點book,內容是"233"

[zk: localhost:2181(CONNECTED) 7] create /zk-test/book 233 Created /zk-test/book

?

2.查看節點內容

使用get命令,可以獲取zookeeper指定節點的內容和屬性信息。

如下:

[zk: localhost:2181(CONNECTED) 1] get /zk-test
123 cZxid = 0x3a ctime = Sun Nov 11 21:50:44 CST 2018 mZxid = 0x3a mtime = Sun Nov 11 21:50:44 CST 2018 pZxid = 0x3a cversion = 0 dataVersion = 0 aclVersion = 0 ephemeralOwner = 0x0 dataLength = 3 numChildren = 0

3.查看子節點

使用ls命令可以查看指定節點下的所有子節點

以下查看根目錄下的所有子節點:

[zk: localhost:2181(CONNECTED) 2] ls /
[zk-test, zookeeper]

查看zk-test節點的子節點:

[zk: localhost:2181(CONNECTED) 3] ls /zk-test
[book]

?

4.更新節點內容

使用set命令,更新節點內容。格式為:

set?? path? data?

其中的data就是要更新的新內容。

[zk: localhost:2181(CONNECTED) 4] set /zk-test 456cZxid = 0x3a ctime = Sun Nov 11 21:50:44 CST 2018 mZxid = 0x3b mtime = Sun Nov 11 22:05:20 CST 2018 pZxid = 0x3a cversion = 0 dataVersion = 1 aclVersion = 0 ephemeralOwner = 0x0 dataLength = 3 numChildren = 0

在輸出的信息中,可以發現,dataVersion的值由原來的0 變成了 1,這是因為剛才的更新操作導致該節點的數據版本也發生變更。

6.刪除節點

使用delete命令來刪除節點,如下:

[zk: localhost:2181(CONNECTED) 11] delete /zk-test
Node not empty: /zk-test

可以發現,一個節點存在子節點時,無法刪除該節點。

刪除子節點/zk-test/book,如下:

[zk: localhost:2181(CONNECTED) 12] delete /zk-test/bookWATCHER::WatchedEvent state:SyncConnected type:NodeDeleted path:/zk-test/book

zookeeper中的watcher會監控節點,當子節點發生變化時會發出通知。此時提示子節點 /zk-test/book刪除成功。

繼續嘗試刪除節點 /zk-test,

[zk: localhost:2181(CONNECTED) 13] ls /zk-test [] [zk: localhost:2181(CONNECTED) 14] delete /zk-test [zk: localhost:2181(CONNECTED) 15] ls / []

刪除成功。

?

?

參考資料 :

《從Paxos到zookeeper分布式一致性原理與實踐》

https://blog.csdn.net/zknxx/article/details/52601554

https://blog.csdn.net/21aspnet/article/details/18990891

轉載于:https://www.cnblogs.com/xuningchuanblogs/p/11566240.html

總結

以上是生活随笔為你收集整理的liunx 安装 zookeeper(转)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。