我正在运行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" : { }
}
但是,如果我卷曲群集设置,我仍然会看到两个节点如下:
{
"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]"
}
答案 0 :(得分:3)
将方括号中的'null'与我的elasticsearch 5.5安装一起使用:
PUT _cluster/settings
{
"persistent": {
"search": {
"remote": {
"cluster_one": {
"seeds": [
null
]
}
}
}
}
}