hadoop - Solr - 恢复 Zookeeper 后丢失配置

标签 hadoop solr apache-zookeeper

我刚刚继承了一个由 7 台服务器组成并通过 Ambari 管理的 hadoop 集群(之前从未使用过 hadoop)。
今天 Ambari 丢失了 server3 上的所有服务以及 ZooKeeper 服务(托管在服务器 1、2 和 3 上)、ZKFailOver(托管在服务器 1 和 2 上)和 ZooKeeper 客户端(托管在 4、5、6、7 上)的心跳停了下来,都拒绝启动。这也导致 Solr 服务停止工作。
经过一些调查后,我发现服务器 3 上的 Zookeeper 由于 CRC 问题在最近的快照上出错。在阅读更多内容后,我删除了 .../zookeeper/version-2/中的旧快照文件并运行“zk -formatZK”(在服务器 1 上)。 Zookeeper 服务现在可以启动,并且正在接收来自 server3 的心跳。
我现在看到的问题是所有 Solr 服务不再正确配置 - “...ZooKeeperException:找不到 collectioin xxxx 的配置名称:null” 我在弄清楚如何获取以前的 Solr 配置方面没有取得太大成功给动物园管理员。我正在尝试使用我在位于“/opt/solr/xxxx/scripts/cloud-scripts/”的 Solr 目录中找到的“zkcli.sh”,但它似乎不像 zkCli 中描述的那样工作Hadoop 文档。 我的问题是,如何使用现有配置文件设置 Solr 服务器?如果我不能,我该如何着手重建以下配置:

                            / --- server5
                 /--shard1------- server7
        core -- <
                 \--shard2------- server4
                            \ --- server6

谢谢。

最佳答案

所以经过反复试验我发现zkcli.sh应该按照下面的方式使用:

./zkcli.sh server1:2181,server2:2181,server3:2181 -cmd upconfig .../solr/<corename>/conf -confname <configfilename>

这应该将任何现有配置上传到所有 ZK 节点。

关于hadoop - Solr - 恢复 Zookeeper 后丢失配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37848633/

相关文章:

java - 如何使用亚马逊的 EMR 在 CLI 中使用自定义 jar 指定 mapred 配置和 java 选项?

solr - solr过滤器实际上是如何实现的?

tomcat - SolrCloud - Jetty 与 Tomcat

solr - 如何选择字段类型过滤器(例如德语)

java - 错误 backtype.storm.daemon.executor - java.lang.NoClassDefFoundError : org/I0Itec/zkclient/serialize/ZkSerializer

java - 新手hadoop ..分布式缓存

ubuntu - ubuntu12.10上的hadoop安装

hadoop - HDFS文件中的分隔符与Hive表的分隔符值不匹配

java - 使 apache ZooKeeper getChildren() 调用服务器端时出现 GWT StatusCodeException

unit-testing - 用于单元/集成测试的嵌入式动物园管理员