【发布时间】:2015-04-16 12:29:34
【问题描述】:
我有一个在三个独立节点上运行的本地 solr 云集群:33.33.3[3-5]:8080
该集群由本地 3 节点 zookeeper 集成管理,位于:33.33.3[0-2]:2181
我正在尝试修改架构 - 但是,我无法让 SOLR 获取新的更改。这就是我正在做的事情
首先我将一个配置集上传到zookeeper:
/opt/src/solr/scripts/cloud-scripts/zkcli.sh -zkhost 33.33.33.30:2181,33.33.33.31:2181,33.33.33.32:2181 -cmd upconfig -confdir /opt/src/solr/solr/conf/ -confname test_conf
然后我在 SOLR 中创建一个集合:
http://33.33.33.33:8080/solr/admin/collections?action=CREATE&name=test_collection&numShards=1&replicationFactor=3
这一切都很好。由于 zookeeper 中只有一个配置,因此在创建时会自动映射到集合。很酷。
但现在我想修改test_collection 的架构。所以,我 ssh 进入我的 SOLR 框,浏览到 /opt/src/solr/solr/conf/ 在 vim 中打开 schema.xml,然后删除一个字段。然后我再次上传配置(使用相同的名称,因此它会覆盖旧配置):
/opt/src/solr/scripts/cloud-scripts/zkcli.sh -zkhost 33.33.33.30:2181,33.33.33.31:2181,33.33.33.32:2181 -cmd upconfig -confdir /opt/src/solr/solr/conf/ -confname test_conf
现在我重新加载核心:
http://33.33.33.33:8080/solr/admin/collections?action=RELOAD&name=test_collection
Zookeeper 会接受更改。我可以从 zookeeper 下载文件,更改就在那里。我可以在 SOLR admin 中浏览配置(cloud>tree>configs>schema.xml AND test_collection>files>schema.xml)并反映更改。但是,如果我点击这条路线:http://33.33.33.33:8080/solr/test_collection/schema/fields 该字段仍然存在。此外,如果我在 SOLR 管理员中转到 test_collection>schema browser,该字段仍然会在那里列出。
这是怎么回事?
编辑:
如果我查看 SOLR admin 中的日志,我会看到以下必须相关的内容...
2/23/2015, 3:06:46 PM
WARN
OverseerCollectionProcessor
OverseerCollectionProcessor.processMessage : reloadcollection , {
2/23/2015, 3:06:46 PM
WARN
ManagedIndexSchemaFactory
The schema has been upgraded to managed, but the non-managed schema schema.xml is still loadable. PLEASE REMOVE THIS FILE.
2/23/2015, 3:06:46 PM
WARN
RequestHandlers
Multiple requestHandler registered to the same name: /update/json ignoring: org.apache.solr.handler.UpdateRequestHandler
2/23/2015, 3:06:46 PM
WARN
RequestHandlers
Multiple requestHandler registered to the same name: /update ignoring: org.apache.solr.handler.UpdateRequestHandler
2/23/2015, 3:06:46 PM
WARN
RequestHandlers
Multiple requestHandler registered to the same name: /replication ignoring: org.apache.solr.handler.ReplicationHandler
【问题讨论】:
-
请求
.../collections?action=RELOAD时得到什么响应? -
上述请求是否成功?如果您重新加载 cores 而不是
.../admin/cores?action=RELOAD&core=...,会发生什么? -
@n0tting 我得到以下回复:
0 418 0 343 0 int> 351 -
@n0tting 管理核心重新加载也很好。但还是没有变化
-
检查来自 SOLR 管理员的日志编辑
标签: solr schema config apache-zookeeper solrcloud