默认配置的zookeeper 3.5.5会占用8080端口
场景
今天下载了stable 3.5.5版本的zookeeper,启动的时候发现zookeeper讲8080端口给占用了?日志如下
2019-09-10 16:22:59,991 [myid:] - INFO [main:JettyAdminServer@112] - Started AdminServer on address 0.0.0.0, port 8080 and command URL /commands
用的还是jetty做的web容器,访问 localhost:8080/commands 如下所示
简介
AdminService是一个内置的HTTP服务,提供一些四字命令。系统默认开启,绑定8080端口。你可以打开 http://localhost:8080/commands 查看所有短句命令。你可以像这样"/commands/[command name]" 把需要运行的命令加载路劲参数中进行调用。有别于原声协议的是HTTP接口将返回JSON数据,其次四字命令其实是一种缩写模式 如 “stmk” 全称为 “set_mask_trace”。系统并不要求你必须使用缩写模式,使用stmk 或者 set_mask_trace 将获得同样的结果。你也可以通过配置,或者移除zookeeper 对jetty的依赖来关闭AdminService
配置
提供了rest-api给到开发者监控zookeeper。看了文档是在3.5.0版本更新的这个功能。3.5.5支持TSL证书加密。基础配置参数如下
-
admin.enableServer : (Java system property: zookeeper.admin.enableServer)是否开启AdminService
-
admin.serverAddress : (Java system property: zookeeper.admin.serverAddress) 内置jetty绑定的ip地址
-
admin.serverPort : (Java system property: zookeeper.admin.serverPort) 内置jetty绑定的port
-
admin.idleTimeout : (Java system property: zookeeper.admin.idleTimeout) 超时时长 默认30000ms
-
admin.commandURL : (Java system property: zookeeper.admin.commandURL) 服务地址根目录,默认/commands
命令
名称 | 描述 |
---|---|
conf | 输出配置 |
cons | 输出详尽的连接信息 |
crst | 重置所有连接的连接/会话统计信息 |
dump | 列出未完成的会话和临时节点。这只对leader节点有效. |
envi | 输出服务运行的系统信息 |
ruok | 如果服务运行正常将返回imok ,否则不会有任何响应。 “imok”的响应不一定表示服务器已加入仲裁,只是表示服务器进程处于活动状态并绑定到指定的客户端端口 Use “stat” for details on state wrt quorum and client connection information. |
srst | 重置服务统计 |
srvr | 输出服务详情 |
stat | 列出自身的信息,包括服务,连接,客服端信息 |
wchs | 列出有关服务器监视的简要信息 |
wchc | 按会话列出有关服务器监视的详细信息。这将输出会话(连接)和关联监视(路径)的列表。注意,根据监视的数量,此操作可能很昂贵(即影响服务器性能),请小心使用 |
dirs | 显示快照以及日志的大小 |
wchp | 按路径列出有关服务器监视的详细信息。这将输出路径列表,同样取决于服务的个数,会影响到服务性能。 |
mntr | 输出可用于监视群集运行状况的变量列表 |