Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带zookeeper的Solrcloud多核主从机_Solr_Apache Zookeeper_Sharding_Solrcloud_Master Slave - Fatal编程技术网

带zookeeper的Solrcloud多核主从机

带zookeeper的Solrcloud多核主从机,solr,apache-zookeeper,sharding,solrcloud,master-slave,Solr,Apache Zookeeper,Sharding,Solrcloud,Master Slave,我必须采用4.3.1单solr索引并将其迁移到solrcloud 5.2.1。 新的5.2.1体系结构是2个碎片,每个碎片有1个主碎片和1个从碎片(副本)。我的步骤是: 设置新的单分片solrcloud 5.2.1 以大索引数据文件夹为例,将其迁移到单shard solrcloud 5.2.1,其中1个shard/core 拆分索引 将2个数据文件夹复制到新的solrcloud 5.2.1安装(一个新安装,包含2个碎片、1个主副本和1个副本) 我还将配置schema.xml/solrconf

我必须采用4.3.1单solr索引并将其迁移到solrcloud 5.2.1。
新的5.2.1体系结构是2个碎片,每个碎片有1个主碎片和1个从碎片(副本)。我的步骤是:

  • 设置新的单分片solrcloud 5.2.1
  • 以大索引数据文件夹为例,将其迁移到单shard solrcloud 5.2.1,其中1个shard/core
  • 拆分索引
  • 将2个数据文件夹复制到新的solrcloud 5.2.1安装(一个新安装,包含2个碎片、1个主副本和1个副本)
我还将配置
schema.xml/solrconfig.xml
放在一个ZooKeeper中(我知道不推荐使用1zk)

一切正常,碎片正在运行,副本包含数据,我可以从新的solrcloud 5.2.1 2碎片查询数据

当我添加新文档时,副本不工作。我已经定义了一个复制处理程序,但我无法确定谁是主复制处理程序,谁是从复制处理程序,因为它托管在Zookeeper中,Zookeeper负责所有配置。我有两个主人和两个奴隶,我不能决定谁是主人,谁是奴隶。这是选举过程的目标

我该怎么办?我对流程的理解正确吗

我读过这篇文章:。
但我的问题是我使用的是zookeeper。

流是有效的,并且最终起作用了。
复制无法工作的原因是,solrconfig的updateLog部分中的参数无效。
默认的solrconfig.xml在updateLog中包含以下内容:

<updateLog>
  <str name="dir">${solr.ulog.dir:}</str>
</updateLog>  

${solr.ulog.dir:}
Solr在他们的指南中指示在使用旧配置时使用(现在可以使用):


${solr.data.dir:}
建议您仔细阅读并注意所有细节:


流是有效的,并且最终有效。
复制无法工作的原因是,solrconfig的updateLog部分中的参数无效。
默认的solrconfig.xml在updateLog中包含以下内容:

<updateLog>
  <str name="dir">${solr.ulog.dir:}</str>
</updateLog>  

${solr.ulog.dir:}
Solr在他们的指南中指示在使用旧配置时使用(现在可以使用):


${solr.data.dir:}
建议您仔细阅读并注意所有细节: