部署Bitnami Solr Helm Chart后创建Core及ZK命令问题求助
解决Bitnami Solr Helm Chart创建Core时coreNodeName缺失的问题
问题分析
你遇到的coreNodeName missing报错,确实需要启用legacyCloud属性,但你使用的是ZooKeeper原生的zkCli.sh执行clusterprop命令——这个命令其实是Solr自带的ZK工具提供的,而非原生ZooKeeper的命令,所以会提示不存在。
解决步骤
方法1:使用Solr Pod内的zk工具设置集群属性
- 先找到Solr集群的Pod名称:
kubectl get pods -l app.kubernetes.io/name=solr - 进入任意一个Solr Pod的终端:
kubectl exec -it <你的-solr-pod-name> -- bash - 执行Solr的zk集群属性设置命令:
solr zk clusterprop -z apachesolr-dev-zookeeper:2181 -name legacyCloud -val true
方法2:通过ZooKeeper交互客户端手动配置
如果方法1无法执行,可直接在ZooKeeper中手动创建/修改集群属性节点:
- 进入ZooKeeper Pod的终端:
kubectl exec -it <你的-zookeeper-pod-name> -- bash - 启动ZK交互客户端:
/opt/bitnami/zookeeper/bin/zkCli.sh -server apachesolr-dev-zookeeper:2181 - 在ZK命令行中,先检查是否存在
/clusterprops.json节点:ls /- 如果不存在,创建节点并设置属性:
create /clusterprops.json '{"legacyCloud":true}' - 如果已存在,更新节点内容:
set /clusterprops.json '{"legacyCloud":true}'
- 如果不存在,创建节点并设置属性:
- 退出ZK客户端:
quit
最后一步:重启Solr集群
设置完成后,重启所有Solr Pod让配置生效:
kubectl rollout restart statefulset <你的-solr-statefulset-name>
(通常StatefulSet名称为apachesolr-dev,可通过kubectl get statefulsets确认)
完成后再尝试创建新的Solr Core,问题应该就能解决。
内容的提问来源于stack exchange,提问作者Mahesh
相关产品推荐
相关产品推荐

