默認配置的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 | 輸出可用於監視羣集運行狀況的變量列表 |