我有一个独立的Solr实例,它有4个不同的核心,使用嵌入式Jetty服务器工作得很好。我为v4.10.3配置了内核,但是自从我转到v5.1之后,所有的内核似乎都工作得很好,没有任何变化。
在投入生产之前,我需要将其设置为Solrcloud安装,最初使用两个节点(两台不同的机器),每个节点有一个碎片(以保持简单)。我一直在努力使它发挥作用,但我未能做到。
我试图像这样运行它(我认为使用start.jar不是首选的方法),阅读了Solr将在任何嵌套文件夹中查找多个配置的核心(这对独立的Solr有效):
java -DzkRun -DnumShards=2 -Dbootstrap_confdir=solr/ -jar start.jar但是这不起作用,它找不到所需的solrconfig.xml文件。
我的Solr目录如下所示:

我的solr.xml文件是标准文件:
<solr>
<solrcloud>
<str name="host">${host:}</str>
<int name="hostPort">${jetty.port:8983}</int>
<str name="hostContext">${hostContext:solr}</str>
<int name="zkClientTimeout">${zkClientTimeout:30000}</int>
<bool name="genericCoreNodeNames">${genericCoreNodeNames:true}</bool>
</solrcloud>
<shardHandlerFactory name="shardHandlerFactory"
class="HttpShardHandlerFactory">
<int name="socketTimeout">${socketTimeout:0}</int>
<int name="connTimeout">${connTimeout:0}</int>
</shardHandlerFactory>
</solr>每个核心看起来如下:

core.properties的核心名称是:
name=users我的问题是:
发布于 2015-06-09 01:48:29
在SolrCloud中,每个核心都将成为集合。
每个集合都有自己的一组Config文件和数据。
您可能会发现这个有用的将多核SOLR实例移动到云上
Solr5.0(继续)在如何创建带有碎片的SolrCloud设置以及如何添加集合等方面做了一些更改。
下面列出的一切都是我对Solr参考指南的理解。我强烈建议大家仔细研究一下。https://cwiki.apache.org/confluence/display/solr/Apache+Solr+Reference+Guide
我在Linux(CentOS)服务器上安装了服务器,但是这些步骤也可以用于在Windows上安装solr。例如,有solr.cmd文件而不是solr.sh文件。
下面是我创建一个简单的两片SolrCloud设置的步骤。
/opt文件夹。tar xzf solr-5.0.0.tgz solr-5.0.0/bin/install_solr_service.sh --strip components=2sudo bash ./install_solr_service.sh solr-5.0.0.tgz/var/solr/solr.in.sh中查看此内容。这是可以指定其他选项的包含文件。
* SOLR_PID_DIR=/var/solr * SOLR_HOME=/var/solr/data * LOG4J_PROPS=/var/solr/log4j.properties *solr_log_DIR=/var/solr/log* SOLR_PORT=8983install_solr_service start将启动solr服务器。在进行以下任何更改之前,请停止使用service solr stop的服务器。SOLR_HEAP="3g"
这将将Xmx和Xms设置为3GB。(可选)Solr5.1中的solr.in.sh文件中没有提到这个变量。这是一个bug,并已修复,将在下一个版本发布。SOLR_MODE="solrcloud" 必需的
这就是您需要在云模式下启动solr的内容。ZK_HOST=ZK1:2181,ZK2:2181,ZK3:2181 必需的
(用动物园管理员的主机名替换zk )install_solr_service.sh命令还会创建一个init.d文件作为/etc/init.d/solrinit.d脚本依次调用/opt/solr/bin/solr脚本并包含来自/var/solr/solr.in.sh的所有变量service solr start启动solrservice solr status检查状态。创建集合碎片和副本()--所有碎片、集合、副本相关命令现在都使用收藏品API生成。
/opt/solr/server/scripts/cloud-scriptssh zkcli.sh -cmd upconfig -zkhost zk1:2181,zk2:2181,zk3:2181 -confname yourconfigname -confdir /var/solr/configs/conf
您将对4个内核中的每个内核运行此命令4次,每次更改conf文件夹的路径和配置名称.。
创建集合我使用以下命令创建一个新集合。
solr&collection.configName=yourconfigname
搜索愉快!
发布于 2015-06-08 21:03:02
SolrCloud不使用存储在核心conf目录中的配置文件。要使核心在SolrCloud结构中可见,您需要将配置文件上传到ZooKeeper,并将其管理给您。当Solr实例出现时,它就会得到存储在ZooKeeper中的配置文件。这样你的核心就不需要有conf目录来工作了。要将您的核心配置文件上传到ZooKeeper,请按照下面的链接查看Upload a configuration directory
https://cwiki.apache.org/confluence/display/solr/Command+Line+Utilities
https://stackoverflow.com/questions/30681014
复制相似问题