zookeeper 單機部署
采用 docker 的部署方式
參考文章:
docker 應用 —— docker安裝zookeeper單機版_中流石-CSDN博客
使用 Docker 一步搞定 ZooKeeper 集群的搭建_后台開發 - SegmentFault 思否
基本命令:
docker run -d -p 3181:2181 --name=zookeeper --privileged zookeeper
這里對外暴露的端口是 3181. why?
看這里 -> docker: Error response from daemon: Ports are not available - J.曬太陽的貓 - 博客園
進入容器進行測試
docker exec -it zookeeper /bin/bash
zookeeper 的服務端已經自動運行。
通過 ./bin/zkCli.sh
啟動zookeeper 客戶端,輸入 ls /
可以查看節點,如果有節點輸出,說明服務運行成功。
在此界面輸入 help 可以查看客戶端命令
zookeeper 可視化界面
此項目提供了 zookeeper 可視化界面,
elkozmon/zoonavigator: Web-based ZooKeeper UI / editor / browser
Welcome — ZooNavigator Docs
這也是一個 docker 鏡像:elkozmon/zoonavigator
文檔給的啟動方式是這樣:
docker run \
-d --network host \
-e HTTP_PORT=9000 \
--name zoonavigator \
--restart unless-stopped \
elkozmon/zoonavigator:latest
但在我這里,使用 host
運行之后,http://localhost:9000
無法訪問到。
於是使用了普通模式啟動,然后對外暴露 9000 端口。
這樣就可以訪問 http://localhost:9000
了。
docker run -d -p 9000:9000 -e HTTP_PORT=9000 --name zoonavigator --restart unless-stopped elkozmon/zoonavigator:latest
但這里需要注意的是,采用這種方式,將不能使用 127.0.0.1:2181
這樣的本地 IP 來訪問 zookeeper 的地址了(因為網絡沒有共享),需要使用本機的局域網地址進行訪問。
使用 zoonavigator 時,zookeeper 的鏈接字符串就是 172.20.127.109:3181
而不是 127.0.0.1:3181
。
在本機環境中通過命令行訪問 zookeeper
如果還是想使用命令行訪問 zookeeper,但不想每次都進入容器中,可以先把 zookeeper 下載下來:
解壓之后,找到 bin 目錄,在其中運行 zkCli.cmd / zkCli.sh 。這里需要顯式指定服務器地址。
zkCli.cmd -server 127.0.0.1:3181
如此,也可以訪問到 zookeeper 服務。
更多 zookeeper 文檔,可以直接查看官方文檔:
ZooKeeper: Started
ZooKeeper: ZooKeeper-cli