Loading

[笔记] 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

posted @ 2020-09-25 16:21  J.晒太阳的猫  阅读(1018)  评论(1编辑  收藏  举报