Tôi cần đổi tên một số chỉ mục trong một cụm (tên của chúng phải được thay đổi, tôi không thể sử dụng bí danh ).
Tôi thấy rằng không có cách nào được hỗ trợ để làm điều đó, cách gần nhất tôi tìm thấy là đổi tên thư mục của chỉ mục , tôi đã thử điều này trong một cụm.
Cụm có 3 máy A
, B
và C
và các mảnh vỡ được nhân rộng trên mỗi trong số họ. Tôi tắt tính năng tìm kiếm trên đàn hồi A
, đã đổi tên/var/lib/elasticsearch/security/nodes/0/indices/oldindexname
để /var/lib/elasticsearch/security/nodes/0/indices/newindexname
và khởi động lại A
.
Trạng thái của cụm là màu vàng và tìm kiếm đàn hồi đang thực hiện một số phép thuật để khôi phục lại trạng thái chính xác. Sau một thời gian, tôi đã kết thúc với
oldindexname
có sẵn và được sao chép đầy đủ (phục hồi từB
vàC
tôi đoán vậy)newindexname
đang có sẵn (tôi có thể tìm kiếm nó) nhưng plugin head cho thấy rằng các phân đoạn của nó ở trạng thái "Chưa được chỉ định" và chúng chuyển sang màu xám (không được sao chép)
Trong quá trình khôi phục, security.log
hiển thị thông báo sau:
[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
Trong khi newindexname
có thể tìm kiếm được, nhưng nó chắc chắn không ở trạng thái bình thường.
Tôi đã quay trở lại trạng thái trước đó bằng cách xóa newindexname
. Cụm trở lại màu xanh lục mà không có bất kỳ mục "Chưa được chỉ định" nào.
Do đó, làm cách nào để tôi có thể đổi tên oldindexname
thànhnewindexname
trong một cụm?
Lưu ý: giải pháp cuối cùng tôi nghĩ đến là cuộn-sao chép oldindex
vào newindex
và xóa oldindex
sau đó. Điều này sẽ mất thời gian nên nếu có một giải pháp trực tiếp hơn thì sẽ rất tuyệt.