Мені потрібно перейменувати декілька індексів у кластері (їх ім’я потрібно змінити, я не можу використовувати псевдоніми ).
Я бачив, що не існує підтримуваних способів зробити це, найближче, що я знайшов, це перейменувати каталог індексу , я спробував це в кластері.
Кластер має 3 машини A, Bі Cна кожній з них копії реплікуються. Я вимкнув еластичний пошук A, перейменував /var/lib/elasticsearch/security/nodes/0/indices/oldindexnameйого /var/lib/elasticsearch/security/nodes/0/indices/newindexnameі перезапустив A.
Стан кластера був жовтим, і еластичний дослід робив певну магію для відновлення правильного стану. Через деякий час я закінчив
oldindexnameбути доступним і повністю тиражуватися (відновлено з,BіCя думаю)newindexnameдоступний (я можу його шукати), але головний плагін показує, що його осколки перебувають у стані "Непризначений" і що вони є сірим кольором (не копіюються)
Під час відновлення security.logпоказано таке повідомлення:
[2015-02-20 11:02:33,461][INFO ][gateway.local.state.meta ] [A.example.com] dangled index directory name is [newindexname], state name is [oldindexname], renaming to directory name
Хоча newindexnameце пошук, він, звичайно, не знаходиться в нормальному стані.
Я повернувся до попереднього стану, видаливши newindexname. Кластер повертається до зеленого кольору без будь-яких записів "Непризначені".
З огляду на , що, як я можу перейменувати , oldindexnameщоб newindexnameв кластері?
Примітка: остаточне рішення , яке я маю на увазі , щоб сувою копію oldindexв newindexі видалити oldindexзгодом. Це займе час, тому якщо є більш пряме рішення, було б чудово.