我有一个 Solrcloud 集群,其中有 2 个节点,配置了一个分片和一个副本。现在我在新服务器上添加了一个节点,该节点在相同的三个 zookeeper 中注册。该节点显示在 Solrcloud 管理 GUI 的树中“活动节点”下。但是它不在图形视图中,它显示 0 个可用核心,而另一个管理界面显示可用核心。
尽管已经注册了节点,我还需要做些什么才能添加节点吗?这是我正在使用的启动命令:
bin/solr start -cloud -s server/solr2 -p 8983 -z zk1:2181,zk1:2182,zk1:2183 -noprompt
答案1
我在 zookeeper 日志中发现,嵌入式 zookeeper 只能在“独立模式”下运行,这意味着它不会创建集群或集合。您的双节点集群实际上只是一个 1 节点(zookeeper)集群,第二个节点的 Solr 使用第一个节点的 zookeeper 来运行。这有点误导,因为 Solr Web 界面显示两个(Solr)节点处于活动状态。不要误以为这是两个(Zookeeper)节点处于活动状态。
Solr 文档明确指出“不支持在生产中使用嵌入式 zookeeper”,因此他们禁用了它。我个人认为这有点浪费,如果你可以通过嵌入式 zookeeper 简化安装,那就太好了!但可惜不行。我甚至尝试将 zoo.cfg 设置为云模式,但 Solr 似乎以某种方式绕过了此设置。
最好只运行你自己的 zookeeper(设置起来真的很容易...只是不要尝试任何高级操作,直到你逐字逐句地按照教程获得胜利)。
希望这能有所帮助。我自己也被这件事逼疯了。
答案2
这并不理想,因为不建议在 prod 上运行 zookeeper 作为嵌入式服务器,但从管理 UI 中可以显示哪些节点已停止或已死。您可以像这样开始:
/opt/solr/bin/solr stop -all
/opt/solr/bin/solr start -cloud -p 8983 -s /opt/solr/example/cloud/node1/solr
/opt/solr/bin/solr start -cloud -p 7574 -z localhost:9983 -s /opt/solr/example/cloud/node2/solr
/opt/solr/bin/solr start -cloud -p 7575 -z localhost:9983 -s /opt/solr/example/cloud/node2/solr
https://solr.apache.org/guide/8_8/getting-started-with-solrcloud.html#restarting-nodes