The newest zk version supports dynamic change of the zk instances:

https://zookeeper.apache.org/doc/r3.5.3-beta/zookeeperReconfig.html

However, for that to work properly in case of a Solr restart you always need a 
minimal set of servers that do not change and just increase/decrease additional 
ones.

> Am 26.09.2019 um 12:22 schrieb LEE Ween Jiann <wjlee.2...@phdcs.smu.edu.sg>:
> 
> I'm trying to modify the helm chart for solr such that it works for 
> kubernetes (k8s) deployment correctly. There needs to be a particular change 
> in the way solr resolves zookeepers hostname in order for this to happen.
> 
> Let me explain...
> The standard way to configure solr is by listing all the zookeeper 
> hostname/IP in either:
> 
>  *   solr.in.sh or solr.in.cmd
>  *   zoo.cfg
>  *   -z param
> For example: ZK_HOST="zk1:2181,zk2:2181,zk3:2181".
> 
> However, when it comes to cloud deployment, in particular on k8s using helm 
> chart, this is not an ideal situation as the user is required to modify 
> zk_host each time they scale the number of zookeeper up/down.
> 
>  *   For example (scale down): ZK_HOST="zk1:2181,zk2:2181".
>  *   For example (scale up): ZK_HOST="zk1:2181,zk2:2181,zk3:2181,zk4:2181".
> 
> This cannot be done automatically using in helm/k8s. In k8s, this parameter 
> should remain static, meaning that it should not be changed after deployment 
> of the chart.
> 
>  *   For example (k8s): ZK_HOST="zk-headless:2181".
> 
> What a chart can do is to create a service with a DNS name such as 
> zk-headless that contains all the IP of the zookeepers, and as zookeeper 
> scales, the number of IP resolved from zk-headless changes. Could solr to 
> resolve multiple zookeeper IPs from a single name?
> 
> Cheers,
> Ween Jiann

Reply via email to