[筆記] zookeeper 本地測試部署


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 下載下來:

Apache Download Mirrors

解壓之后,找到 bin 目錄,在其中運行 zkCli.cmd / zkCli.sh 。這里需要顯式指定服務器地址。

zkCli.cmd -server 127.0.0.1:3181

如此,也可以訪問到 zookeeper 服務。

更多 zookeeper 文檔,可以直接查看官方文檔:
ZooKeeper: Started
ZooKeeper: ZooKeeper-cli

原文地址:https://www.cnblogs.com/jasongrass/p/13730934.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM