Admin Server
Zookeeper is proving embedded jetty container to provide
HTTP interface to execute commands. From Zookeeper 3.5.0 onwards HTTP interface
is available. We need to enabled the Admin server from zookeeper configuration.
Zookeeper is providing set of 4 letters commands
to manage and see the information of the servers and these commands can be executed
from telenet. The same commands we can also execute via HTTP interface when we
enabled Admin server in Zookeeper.
Zookeeper Commands
| conf New in 3.3.0:
  Print details about serving configuration. cons New in 3.3.0:
  List full connection/session details for all clients connected to this
  server. Includes information on numbers of packets received/sent, session id,
  operation latencies, last operation performed, etc… crst New in 3.3.0:
  Reset connection/session statistics for all connections. dump Lists the
  outstanding sessions and ephemeral nodes. This only works on the leader. envi Print details
  about serving environment ruok Tests if server
  is running in a non-error state. The server will respond with imok if it is
  running. Otherwise, it will not respond at all. A response of
  "imok" does not necessarily indicate that the server has joined the
  quorum, just that the server process is active and bound to the specified
  client port. Use "stat" for details on state wrt quorum and client
  connection information. srst Reset server
  statistics. srvr New in 3.3.0:
  Lists full details for the server. stat Lists brief
  details for the server and connected clients. wchs New in 3.3.0:
  Lists brief information on watches for the server. wchc New in 3.3.0:
  Lists detailed information on watches for the server, by session. This
  outputs a list of sessions(connections) with associated watches (paths).
  Note, depending on the number of watches this operation may be expensive (ie
  impact server performance), use it carefully. wchp New in 3.3.0:
  Lists detailed information on watches for the server, by path. This outputs a
  list of paths (znodes) with associated sessions. Note, depending on the
  number of watches this operation may be expensive (ie impact server
  performance), use it carefully. mntr New in 3.4.0:
  Outputs a list of variables that could be used for monitoring the health of
  the cluster. | 
Prerequisite
Setup a Zookeeper cluster
http://www.liferaysavvy.com/2021/07/setup-zookeeper-cluster.html
Configure Admin Server
We need to update following properties in “zoo.cfg”
for each node in the cluster.
Zookeeper Node 1
| admin.enableServer=true admin.serverPort=9191 | 
Zookeeper Node 2
| admin.enableServer=true admin.serverPort=9292 | 
Zookeeper Node 3
| admin.enableServer=true admin.serverPort=9393 | 
Restart All zookeeper nodes in the cluster and access following
URLs to see the commands interface.
Zookeeper Node 1
| http://localhost:9191/commands | 
Click on each hyper link to execute command and we can
see JSON response.
Examples
To see the leader in the cluster
http://localhost:9191/commands/leader
Stats of the server
http://localhost:9191/commands/stats
Similarly, you can access server HTTP interface for
other nodes from following URL’s
Zookeeper Node2
| http://localhost:9292/commands | 
Zookeeper Node3
| http://localhost:9393/commands | 
References
https://zookeeper.apache.org/doc/r3.5.1-alpha/zookeeperAdmin.html
 





 
 
 Posts
Posts
 
 
