Dear experts,

I hope you could help.

*My question in brief*
Is it possible to disable the usage of ZooKeeper's dynamic reconfiguration? Or is there another way to solve the problem described below?

*Situation*
We are using SOLR in single-server mode for years. However, the time has finally come to migrate to SolrCloud.
Our constraints are:
- Kubernetes(SolrOperator) is not an option.
- All ZooKeeper and Solr nodes must run as containers.

After digging through documentation and doing some research, I was able to configure a fully containerized solution that is up and running. (Solr 9.8.1, ZK 3.9.3)
However, there is still an annoying flaw.

*Components of the flaw*
* Running a containerized SolrCloud with embedded ZooKeepers seems to be impossible. * An external ZooKeeper ensemble requires an initial list of nodes ("host_1:ports, host_2:ports, host_3:ports"). To run a node as container it's crucial to configure 0.0.0.0 instead of the host's IP address. For example, a ZooKeeper container running on host_2 needs the list "host_1:ports, 0.0.0.0:ports, host_3:ports". * It appears that Solr utilizes 'zkHosts' only at startup. In order to take advantage of ZooKeeper's dynamic reconfiguration Solr seems to prefer the list fetched from the ZooKeeper ensemble.


*Annoying result*
Even though It is possible to run a fully containerized SolrCloud. The GUI '/solr/#/~cloud?view=zkstatus' reports: "Failed talking to Zookeeper 0.0.0.0:2181" The 0.0.0.0 in a ZooKeeper container isn't visible for a Solr container. For this, each Solr node can only see n-1 ZooKeeper nodes.

This issue is known for years: https://stackoverflow.com/questions/64351894/solr-cloud-cannot-connect-to-random-zookeeper-node-full-docker-set-up
I can't believe that no one has found a workaround or solution yet.
- Perhaps there is a hidden flag for Solr to preserve the given 'zkHosts'. (Ignore Zookeeper's dynamic reconfiguration)? - Or maybe there's a hidden flag for ZooKeeper to start up with 0.0.0.0 even if there is a different IP is configured for this node (myid)?
* ???

Any help is appreciated
Uwe

Reply via email to