состояние моего кластера было зеленым, и после перезапуска службы один осколок остается НЕПРАВИЛЬНЫМ, а статус становится желтым. У меня есть 2 машины с 5 осколками и 1 набором настроек реплик. Я использую конфигурацию по умолчанию с отключенной многоадресной рассылкой и включенной одноадресной передачей. Я выполнял перенаправление, используя
for shard in $(curl -XGET http://localhost:9201/_cat/shards | grep UNASSIGNED | awk '{print $2}'); do
echo "processing $shard"
curl -XPOST 'localhost:9201/_cluster/reroute' -d '{
"commands" : [ {
"allocate" : {
"index" : "wall",
"shard" : '$shard',
"node" : "node1",
"allow_primary" : false
}
}
]
}'
sleep 5
done
Что дает следующий результат
{
"acknowledged":true,
"state":{
"version":48,
"master_node":"Ar7UpWUQSpSlYcje-u6bgA",
"blocks":{
},
"nodes":{
"EtQ9mOrLQbiUbHGqeQgMvQ":{
"name":"node2",
"transport_address":"inet[/XXX.XXX.XX.XXX:9300]",
"attributes":{
}
},
"Ar7UpWUQSpSlYcje-u6bgA":{
"name":"node1",
"transport_address":"inet[/XXX.XXX.XX.XXX:9301]",
"attributes":{
}
}
},
"routing_table":{
"indices":{
"wall":{
"shards":{
"2":[
{
"state":"STARTED",
"primary":false,
"node":"EtQ9mOrLQbiUbHGqeQgMvQ",
"relocating_node":null,
"shard":2,
"index":"wall"
},
{
"state":"STARTED",
"primary":true,
"node":"Ar7UpWUQSpSlYcje-u6bgA",
"relocating_node":null,
"shard":2,
"index":"wall"
}
],
"0":[
{
"state":"STARTED",
"primary":true,
"node":"EtQ9mOrLQbiUbHGqeQgMvQ",
"relocating_node":null,
"shard":0,
"index":"wall"
},
{
"state":"INITIALIZING",
"primary":false,
"node":"Ar7UpWUQSpSlYcje-u6bgA",
"relocating_node":null,
"shard":0,
"index":"wall"
}
],
"3":[
{
"state":"STARTED",
"primary":false,
"node":"EtQ9mOrLQbiUbHGqeQgMvQ",
"relocating_node":null,
"shard":3,
"index":"wall"
},
{
"state":"STARTED",
"primary":true,
"node":"Ar7UpWUQSpSlYcje-u6bgA",
"relocating_node":null,
"shard":3,
"index":"wall"
}
],
"1":[
{
"state":"STARTED",
"primary":false,
"node":"EtQ9mOrLQbiUbHGqeQgMvQ",
"relocating_node":null,
"shard":1,
"index":"wall"
},
{
"state":"STARTED",
"primary":true,
"node":"Ar7UpWUQSpSlYcje-u6bgA",
"relocating_node":null,
"shard":1,
"index":"wall"
}
],
"4":[
{
"state":"STARTED",
"primary":false,
"node":"EtQ9mOrLQbiUbHGqeQgMvQ",
"relocating_node":null,
"shard":4,
"index":"wall"
},
{
"state":"STARTED",
"primary":true,
"node":"Ar7UpWUQSpSlYcje-u6bgA",
"relocating_node":null,
"shard":4,
"index":"wall"
}
]
}
}
}
},
"routing_nodes":{
"unassigned":[
],
"nodes":{
"EtQ9mOrLQbiUbHGqeQgMvQ":[
{
"state":"STARTED",
"primary":false,
"node":"EtQ9mOrLQbiUbHGqeQgMvQ",
"relocating_node":null,
"shard":2,
"index":"wall"
},
{
"state":"STARTED",
"primary":true,
"node":"EtQ9mOrLQbiUbHGqeQgMvQ",
"relocating_node":null,
"shard":0,
"index":"wall"
},
{
"state":"STARTED",
"primary":false,
"node":"EtQ9mOrLQbiUbHGqeQgMvQ",
"relocating_node":null,
"shard":3,
"index":"wall"
},
{
"state":"STARTED",
"primary":false,
"node":"EtQ9mOrLQbiUbHGqeQgMvQ",
"relocating_node":null,
"shard":1,
"index":"wall"
},
{
"state":"STARTED",
"primary":false,
"node":"EtQ9mOrLQbiUbHGqeQgMvQ",
"relocating_node":null,
"shard":4,
"index":"wall"
}
],
"Ar7UpWUQSpSlYcje-u6bgA":[
{
"state":"STARTED",
"primary":true,
"node":"Ar7UpWUQSpSlYcje-u6bgA",
"relocating_node":null,
"shard":2,
"index":"wall"
},
{
"state":"INITIALIZING",
"primary":false,
"node":"Ar7UpWUQSpSlYcje-u6bgA",
"relocating_node":null,
"shard":0,
"index":"wall"
},
{
"state":"STARTED",
"primary":true,
"node":"Ar7UpWUQSpSlYcje-u6bgA",
"relocating_node":null,
"shard":3,
"index":"wall"
},
{
"state":"STARTED",
"primary":true,
"node":"Ar7UpWUQSpSlYcje-u6bgA",
"relocating_node":null,
"shard":1,
"index":"wall"
},
{
"state":"STARTED",
"primary":true,
"node":"Ar7UpWUQSpSlYcje-u6bgA",
"relocating_node":null,
"shard":4,
"index":"wall"
}
]
}
},
"allocations":[]
}
}
Но 0-й осколок все еще не назначен, а статус желтый.
Спасибо
Если вы посмотрите журналы, вы можете заметить проблему, например нехватку места на диске.
Вы можете уменьшить количество реплик для этого индекса до 0, а затем обратно до 1.
Еще одна замечательная вещь, которую нужно сделать, - это настроить скорость репликации, поскольку по умолчанию она довольно медленная.