Ben (kendi adına bir küme birkaç dizinleri yeniden adlandırmak gerekir gerekir , ben kullanamıyorum değiştirilebilir takma adları ).
Bunu yapmanın desteklenen bir yolu olmadığını gördüm, en yakın bulduğum dizin dizinini yeniden adlandırmak , bunu bir kümede denedim.
Küme 3 makineleri vardır A
, B
ve C
ve kırıkları bunların her biri üzerinde çoğaltılır. Elasticsearch'ü kapattım A
, adını /var/lib/elasticsearch/security/nodes/0/indices/oldindexname
değiştirdim /var/lib/elasticsearch/security/nodes/0/indices/newindexname
ve yeniden başlattım A
.
Kümenin durumu sarıydı ve elasticsearch, doğru durumu geri getirmek için biraz sihir yapıyordu. Bir süre sonra bitirdim
oldindexname
mevcut ve tamamen kopyalanmış (kurtarıldıB
veC
sanırım)newindexname
mevcut (arama yapabilirim) ancak head eklentisi, parçalarının "Atanmamış" durumda olduğunu ve gri renkte olduğunu (kopyalanmamış) gösteriyor
Kurtarma sırasında security.log
aşağıdaki mesajı gösterdi:
[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
Aranabilir olsa da, kesinlikle normal bir durumda değildir.
Silerek önceki duruma geri döndüm newindexname
. Küme, herhangi bir "Atanmamış" giriş olmadan yeşile döner.
Olduğu göz önüne alındığında, nasıl yeniden adlandırabilir oldindexname
için newindexname
bir kümede?
Not: Aklımdaki nihai çözüm kaydırma kopya etmektir oldindex
içine newindex
ve silme oldindex
sonradan. Bu zaman alacaktır, bu yüzden daha doğrudan bir çözüm varsa harika olur.