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, Bvà Cvà 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/newindexnamevà 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
oldindexnamecó sẵn và được sao chép đầy đủ (phục hồi từBvàCtô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.loghiể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 oldindexnamethà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 oldindexvào newindexvà xóa oldindexsau đó. Đ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.