今天搭建了一个solrcloud的伪集群,然后在其中一个节点的schema.xml新增fieldType和filed,发现别的节点并没有同步过去。
我去其中一个leader节点的schema.xml中新增同样的fieldType和filed,
并且修改了这个节点的tomcat/bin/catalina.sh
添加了如下代码:也就是上传这个节点对应的solrhome下的collection到zookeeper中去
JAVA_OPTS="$JAVA_OPTS -DzkHost=192.168.192.128:2182,192.168.192.128:2183,192.168.192.128:2184
-Dbootstrap_confdir=/usr/local/solr/solrhome3/collection1/conf
-Dcollection.configName=collection1
-DnumShards=2
-DreplicationFactory=2"
# ----- Execute The Requested Command -----------------------------------------
重新启动后发现所有的节点都同步了。
那么这是否意味着:上传到zookeeper中的collection1必须是leader节点的slorhome/collection1,这样更新schema.xml才能同步?
如果是这样的话,在集群未搭建好之前无法知道谁是leader,只能是搭建好启动后找到leader,然后再去修改。
那么我们自己能否指定某一个节点为leader呢?
不知道你这个问题是否已经解决, 如果还没有解决的话: