【发布时间】:2017-08-09 03:39:28
【问题描述】:
我正在运行 elasticsearch 5.5.1-1 和 x-pack 进行监控。
Elasticsearch 的文档说我应该能够将以下代码添加到我的 elasticsearch.yml 文件中以进行跨集群搜索播种:
search:
remote:
cluster_one:
seeds: 1.1.1.1:9300
cluster_two:
seeds: 2.2.2.2:9300
那没用,所以我按如下方式使用 API:
PUT _cluster/settings
{
"persistent": {
"search": {
"remote": {
"cluster_one": {
"seeds": [
"1.1.1.1:9300"
]
},
"cluster_two": {
"seeds": [
"2.2.2.2:9300"
]
}
}
}
}
}
效果很好,但是我需要删除 cluster_one 直到它升级到 5.5.1-1,根据 elasticsearch 的文档说应该如下完成:
PUT _cluster/settings
{
"persistent": {
"search": {
"remote": {
"cluster_one": {
"seeds": null
}
}
}
}
}
好像我得到了确认:
{
"acknowledged" : true,
"persistent" : { },
"transient" : { }
}
但是,如果我 curl 集群设置,我仍然会看到两个节点如下:
{
"persistent" : {
"search" : {
"remote" : {
"cluster_one" : {
"seeds" : [
"1.1.1.1:9300"
]
},
"cluster_two" : {
"seeds" : [
"2.2.2.2:9300"
]
}
}
}
},
"transient" : { }
}
我认为我不需要在 API 调用后重新启动 elasticsearch,但我也尝试过也无济于事。
我还使用了引用/大写 null 并得到了这个返回消息,这让我相信 null 是一个有效值:
{
"error" : {
"root_cause" : [
{
"type" : "json_parse_exception",
"reason" : "Unrecognized token 'NULL': was expecting 'null', 'true', 'false' or NaN\n at [Source: org.elasticsearch.transport.netty4.ByteBufStreamInput@6053e99; line: 7, column: 25]"
}
【问题讨论】:
-
找到了解决方案……所以我执行了降级/升级,希望它能移除种子……它没有。我带着同样的希望执行了卸载/重新安装……它仍然没有删除种子。我使用 locate 查找文件系统中的每个文件,并为 IP 查找每个文件,并找到其中唯一包含 IP 的文件:/var/lib/elasticsearch/nodes/0/_state/global-14.st 我 rm'ed 那个文件并重新启动 elasticsearch,种子设置终于消失了。
标签: elasticsearch elasticsearch-5