You can check the status of each Zookeeper node with the “ruok” command. This is one of the “four lettter words” admin commands.
https://zookeeper.apache.org/doc/r3.4.8/zookeeperAdmin.html#sc_zkCommands This is how it works from a command line. $ echo ruok | nc zoo-shared-1.test.search.cheggnet.com 2181 imok wunder Walter Underwood wun...@wunderwood.org http://observer.wunderwood.org/ (my blog) > On Jan 26, 2022, at 5:53 AM, Reej Nayagam <reej...@gmail.com> wrote: > > The scenario is solr servers are up, but majority of the zk is down, > so we need to tell the issue is with the zookeeper. I don’t find a way on > how to identify the zookeeper status without waiting for the timeout to > happen after 30 seconds. > > On Wed, 26 Jan 2022 at 9:39 PM, matthew sporleder <msporle...@gmail.com> > wrote: > >> I don't understand your approach -- >> >> For checking solr health I would probably use the ping endpoint or a >> very fast query with a low timeout (q=*:*&timeAllowed=100&rows=0). >> >> IIRC zookeeper health (as seen by solr) is in the CLUSTERSTATUS admin >> api command? It's somewhere near there if not in CLUSTERSTATUS. >> >> For interacting with zookeeper itself I would probably just use zk >> clients directly. >> >> >> >> On Wed, Jan 26, 2022 at 7:41 AM Reej Nayagam <reej...@gmail.com> wrote: >>> >>> Hi All, >>> >>> I need to handle zk failure and so monitoring the zk ensemble, and if the >>> majority of the zk fails we'll activate the HA to point to a DB search. >>> >>> So to check if each of the zk is alive , we are connecting as below, >>> >>> *zkClient = solrZkClient(zkaddress,10000),* >>> *return zkclient.getSolrZookeeper().getState(),isAlive* >>> >>> But I noticed, it still takes the default 30,000 ms timeout instead of >> 10k >>> milliseconds passed in. >>> >>> Is there a way we can override zookeeper timeout, because we have 3 zk's >>> and if suppose all the 3 are down, to get the status of each we need to >>> wait for 30 seconds each. >>> >>> Kindly advise if any of you have handled this. Thank you ! >>> >>> *Thanks,* >>> *Reej* >> > -- > *Thanks,* > *Reej*