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*

Reply via email to