2014-10-10 2 views
1

У меня есть кластер ES, который играет вверх. В какой-то момент у меня были все первичные и реплики, правильно распределенные на 4 из моих 5 узлов, но, пытаясь получить часть на 5-м узле, я снова потерял свои реплики. Теперь мои первичные осколки существуют только на 3 узлах.Неназначенные осколки в кластере

Я пытаюсь добраться до сути вопроса:

В попытке принудительного распределения, такие как:

{ 
    "commands": [ 
    { 
     "allocate": { 
     "index": "group7to11poc", 
     "shard": 7, 
     "node": "SPOCNODE1" 
     } 
    } 
    ] 
} 

я получаю следующий ответ. У меня возникли проблемы с выяснением точной проблемы!

explanations: [1] 
    0: { 
    command: "allocate" 
    parameters: { 
    index: "group7to11poc" 
    shard: 7 
    node: "SPOCNODE5" 
    allow_primary: true 
    }- 
decisions: [11] 
    0: { 
    decider: "same_shard" 
    decision: "YES" 
    explanation: "shard is not allocated to same node or host" 
    }- 
    1: { 
    decider: "filter" 
    decision: "NO" 
    explanation: "node does not match index include filters [_id:"4rZYPBOGRMK4y9YG6p7E2w"]" 
    }- 
    2: { 
    decider: "replica_after_primary_active" 
    decision: "YES" 
    explanation: "primary is already active" 
    }- 
    3: { 
    decider: "throttling" 
    decision: "YES" 
    explanation: "below shard recovery limit of [2]" 
    }- 
    4: { 
    decider: "enable" 
    decision: "YES" 
    explanation: "allocation disabling is ignored" 
    }- 
    5: { 
    decider: "disable" 
    decision: "YES" 
    explanation: "allocation disabling is ignored" 
    }- 
    6: { 
    decider: "awareness" 
    decision: "YES" 
    explanation: "no allocation awareness enabled" 
    }- 
    7: { 
    decider: "shards_limit" 
    decision: "YES" 
    explanation: "total shard limit disabled: [-1] <= 0" 
    }- 
    8: { 
    decider: "node_version" 
    decision: "YES" 
    explanation: "target node version [1.3.2] is same or newer than source node version [1.3.2]" 
    }- 
    9: { 
    decider: "disk_threshold" 
    decision: "YES" 
    explanation: "disk usages unavailable" 
    }- 
    10: { 
    decider: "snapshot_in_progress" 
    decision: "YES" 
    explanation: "shard not primary or relocation disabled" 
    }- 

ответ

1

Наконец-то это отсортировано. Так или иначе, Индекс получил фильтр, примененный к нему, который препятствовал распределению осколков и перемещению.

Я удалил фильтр, и кластер начал вести себя.

локон -XPUT локальный: 9200/тест/_settings -d '{ "index.routing.allocation.include._id": ""}'

Это устанавливает _id фильтр пуст , Это было ранее заполнено и помешало фильму когда-либо соответствовать!

+1

Спасибо за это. Просто решил мою проблему. – David

+0

Сэр, я столкнулся с той же проблемой/ошибкой, что и выше, когда я пытаюсь заставить осколок назначить. Мой вопрос в том, как вы определили фильтр по индексу, поскольку я новичок в этом, я не понимаю. Во-вторых, как фильтр остановил осколки, чтобы переместиться или получить выделение, что является основной причиной. спасибо. –