Tôi có một cụm ES với 4 nút:
number_of_replicas: 1
search01 - master: false, data: false
search02 - master: true, data: true
search03 - master: false, data: true
search04 - master: false, data: true
Tôi đã phải khởi động lại search03, và khi nó quay trở lại, nó đã nối lại cụm đó không có vấn đề gì, nhưng để lại 7 mảnh vỡ chưa được gán nằm.
{
"cluster_name" : "tweedle",
"status" : "yellow",
"timed_out" : false,
"number_of_nodes" : 4,
"number_of_data_nodes" : 3,
"active_primary_shards" : 15,
"active_shards" : 23,
"relocating_shards" : 0,
"initializing_shards" : 0,
"unassigned_shards" : 7
}
Bây giờ cụm của tôi đang ở trạng thái màu vàng. Cách tốt nhất để giải quyết vấn đề này là gì?
- Xóa (hủy) các mảnh vỡ?
- Di chuyển các mảnh sang nút khác?
- Phân bổ các mảnh vỡ cho nút?
- Cập nhật 'number_of numplicas' thành 2?
- Cái gì khác hoàn toàn?
Thật thú vị, khi một chỉ mục mới được thêm vào, nút đó bắt đầu hoạt động trên nó và chơi tốt với phần còn lại của cụm, nó chỉ để lại các phân đoạn chưa được gán.
Theo dõi câu hỏi: tôi đang làm gì sai để khiến điều này xảy ra ngay từ đầu? Tôi không có nhiều niềm tin vào một cụm hoạt động theo cách này khi một nút được khởi động lại.
LƯU Ý: Nếu bạn đang chạy một cụm nút đơn vì một số lý do, bạn có thể chỉ cần thực hiện các thao tác sau:
curl -XPUT 'localhost:9200/_settings' -d '
{
"index" : {
"number_of_replicas" : 0
}
}'
{ "error" : "ElasticsearchIllegalArgumentException[[allocate] failed to find [logstash-2015.01.05][1] on the list of unassigned shards]", "status" : 400 }
Mặc dù tôi có thể thấy rằng mảnh vỡ là một trong những thứ chưa được phân bổ trong ES-Head