探索前沿技术
      展示技术风采

docker中zookeeper伪集群及常用命令

docker版本信息:

$ docker --version
Docker version 18.06.0-ce, build 0ffa825

利用docker-compose实现,需要编写相应的服务编排配置文件,下面是我编写的zookeeper伪集群的3个服务:cat compose-conf.yml

drunk$ cat compose-conf.yml
version: '3.1'

services:
zoo1:
image: zookeeper
restart: always
hostname: zoo1
ports:
- 2181:2181
environment:
ZOO_MY_ID: 1
ZOO_SERVERS: server.1=0.0.0.0:2888:3888 server.2=zoo2:2888:3888 server.3=zoo3:2888:3888

zoo2:
image: zookeeper
restart: always
hostname: zoo2
ports:
- 2182:2181
environment:
ZOO_MY_ID: 2
ZOO_SERVERS: server.1=zoo1:2888:3888 server.2=0.0.0.0:2888:3888 server.3=zoo3:2888:3888

zoo3:
image: zookeeper
restart: always
hostname: zoo3
ports:
- 2183:2181
environment:
ZOO_MY_ID: 3
ZOO_SERVERS: server.1=zoo1:2888:3888 server.2=zoo2:2888:3888 server.3=0.0.0.0:2888:3888

查看docker-compose的命令:docker-compose --help

drunk$ docker-compose --help
        Define and run multi-container applications with Docker.

        Usage:
        docker-compose [-f <arg>...] [options] [COMMAND] [ARGS...]
docker-compose -h|--help

Options:
-f, --file FILE             Specify an alternate compose file
(default: docker-compose.yml)
-p, --project-name NAME     Specify an alternate project name
(default: directory name)
--verbose                   Show more output
--log-level LEVEL           Set log level (DEBUG, INFO, WARNING, ERROR, CRITICAL)
--no-ansi                   Do not print ANSI control characters
-v, --version               Print version and exit
-H, --host HOST             Daemon socket to connect to

--tls                       Use TLS; implied by --tlsverify
--tlscacert CA_PATH         Trust certs signed only by this CA
--tlscert CLIENT_CERT_PATH  Path to TLS certificate file
--tlskey TLS_KEY_PATH       Path to TLS key file
--tlsverify                 Use TLS and verify the remote
--skip-hostname-check       Don't check the daemon's hostname against the
name specified in the client certificate
--project-directory PATH    Specify an alternate working directory
(default: the path of the Compose file)
--compatibility             If set, Compose will attempt to convert deploy
keys in v3 files to their non-Swarm equivalent

Commands:
build              Build or rebuild services
bundle             Generate a Docker bundle from the Compose file
config             Validate and view the Compose file
create             Create services
down               Stop and remove containers, networks, images, and volumes
events             Receive real time events from containers
exec               Execute a command in a running container
help               Get help on a command
images             List images
kill               Kill containers
logs               View output from containers
pause              Pause services
port               Print the public port for a port binding
ps                 List containers
pull               Pull service images
push               Push service images
restart            Restart services
rm                 Remove stopped containers
run                Run a one-off command
scale              Set number of containers for a service
start              Start services
stop               Stop services
top                Display the running processes
unpause            Unpause services
up                 Create and start containers
version            Show the Docker-Compose version information

启动服务:docker-compose -f compose-conf.yml up

解释:-f 指定服务编排文件  ;compose-conf.yml为我的服务编排文件;up:创建和启动容器

drunk$ docker-compose -f compose-conf.yml up

查看启动结果:docker-compose -f compose-conf.yml ps

drunk$ docker-compose -f compose-conf.yml ps
Name                      Command               State                     Ports
----------------------------------------------------------------------------------------------------------
docker-config_zoo1_1   /docker-entrypoint.sh zkSe ...   Up      0.0.0.0:2181->2181/tcp, 2888/tcp, 3888/tcp
docker-config_zoo2_1   /docker-entrypoint.sh zkSe ...   Up      0.0.0.0:2182->2181/tcp, 2888/tcp, 3888/tcp
docker-config_zoo3_1   /docker-entrypoint.sh zkSe ...   Up      0.0.0.0:2183->2181/tcp, 2888/tcp, 3888/tcp

启动zk的客户端,可以使用以下命令:docker exec -it 容器id zkCli.sh

docker exec -it 容器id zkCli.sh

其中容器id可以通过以下命令查看:docker ps

drunk$ docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                                        NAMES
ff9d84d16784        zookeeper           "/docker-entrypoint.…"   42 minutes ago      Up 42 minutes       2888/tcp, 0.0.0.0:2181->2181/tcp, 3888/tcp   docker-config_zoo1_1
9b139d1e324b        zookeeper           "/docker-entrypoint.…"   42 minutes ago      Up 42 minutes       2888/tcp, 3888/tcp, 0.0.0.0:2182->2181/tcp   docker-config_zoo2_1
cae92fb55838        zookeeper           "/docker-entrypoint.…"   42 minutes ago      Up 42 minutes       2888/tcp, 3888/tcp, 0.0.0.0:2183->2181/tcp   docker-config_zoo3_1

zookeeper Cli 常用命令

命令行工具常用操作:

显示根目录下文件
ls /              //查看当前节点数据
ls2 /             //查看当前节点数据并能看到更新次数等数据

创建文件, 并设置初始内容:
create /config "test" //创建一个新的节点并设置关联值
create /config “”     //创建一个新的空节点

获取文件内容
get /brokers      //获取节点内容

修改文件内容
set /zk "zkbak"   //对 zk 所关联的字符串进行设置

删除文件
delete /brokers  //删除节点
rmr    /brokers  //删除节点及子节点

四字命令
ZooKeeper 支持某些特定的四字命令字母与其的交互,用来获取服务的当前状态及相关信息。在客户端可以通过 telnet 或 nc 向 ZooKeeper 
提交相应的命令。命令行如下:

echo conf | nc 132.37.3.26 26181
ZooKeeper 常用四字命令:

conf
输出相关服务配置的详细信息

cons
列出所有连接到服务器的客户端的完全的连接 / 会话的详细信息。包括“接受 / 发送”的包数量、会话 id 、操作延迟、最后的操作执行等等信息

dump
列出未经处理的会话和临时节点。

envi
输出关于服务环境的详细信息(区别于 conf 命令)。

reqs
列出未经处理的请求

ruok
测试服务是否处于正确状态。如果确实如此,那么服务返回“ imok ”,否则不做任何相应

stat

输出关于性能和连接的客户端的列表。

wchs
列出服务器 watch 的详细信息

wchc
通过 session 列出服务器 watch 的详细信息,它的输出是一个与 watch 相关的会话的列表

wchp
通过路径列出服务器 watch 的详细信息。它输出一个与 session 相关的路径

quit          退出

connect host:port   连接到其他ZooKeeper服务器

close          关闭连接

history         操作指令历史

redo          重复执行某个指令, 使用格式为 redo  id,id号就是 history 命令时显示的编号
×

感谢您的支持,我们会一直保持!

扫码支持
请土豪扫码随意打赏

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

赞(0) 打赏
未经允许不得转载:醉探索戈壁 » docker中zookeeper伪集群及常用命令
分享到: 更多 (0)
标签:

给戈壁浇点水

支付宝扫一扫打赏

微信扫一扫打赏