2013-12-12 16 views
6

Phiên bản Cassandra 1.2.9. Năm cụm nút, nhưng một trong các nút là xuống với phần cứng thất bại và sửa chữa/thay thế ETA là không rõ. Tôi muốn ngừng hoạt động/xóa nút xuống (thông báo đang làm lộn xộn tất cả nhật ký). nodetool removenode có vẻ là hoàn hảo, ngoại trừ nó đòi hỏi một ID máy chủ lưu trữ. Nút xuống không có ID máy chủ lưu trữ (được liệt kê là null trong trạng thái):Cassandra - Cách tháo nút chết

Dường như việc xóa bỏ giọng nói không còn là tùy chọn cho nodetool nữa.

Cách thích hợp để xóa nút chết này là gì?

+0

Tôi sẽ cung cấp cho bạn một liên kết đến tài liệu "thay thế một nút chết" của DataStax, nhưng bước cuối cùng là thực hiện 'nodetool removenode' mà bạn đã tuyên bố sẽ không hoạt động cho bạn. Bạn đã thử nhìn vào 'nodetool move' chưa? Về lý thuyết, bạn có thể mang nút thay thế (với tập hợp initial_token đến nút chết, trừ đi 1) và sau đó di chuyển nó đến phạm vi mã thông báo mong muốn. – Aaron

+1

Tôi chưa có máy chủ thay thế. Tôi đã cố gắng xóa bỏ; không được chấp nhận trong phiên bản này. Tôi đã thử xóa; nhưng không có ID máy chủ, do đó không thành công. Tôi đã thử di chuyển và nó không có đủ nguồn phát trực tiếp. Tiếp theo là một lệnh JMX: Vào chế độ shell. % jmx_invoke -m org.apache.cassandra.net:type=Gossiper unsafeAssassinateEndpoint . Điều đó thất bại với một ngoại lệ con trỏ null. Vẫn đang làm việc này. –

+6

Các bước sau DID hoạt động: - 1) Trên mỗi nút còn lại, thêm -Dcassandra.load_ring_state = false vào JVM_OPTS trong tệp cassandra-env.sh của bạn và khởi động lại. - 2) Chạy lại trạng thái nodetool và xác nhận rằng nút không mong muốn đã biến mất. - 3) Trên mỗi nút, hãy chạy xóa khỏi system.peers trong đó peer = '[địa chỉ ip của nút chết]'; thông qua cqlsh - 4) Loại bỏ -Dcassandra.load_ring_state = false khỏi cassandra-env.sh trên mỗi nút và khởi động lại. –

Trả lời

Các vấn đề liên quan