2016-05-08 13 views

Trả lời

11

Dữ liệu luồng ngừng hoạt động từ nút rời. Do đó, bạn được đảm bảo duy trì tính nhất quán tương tự mà bạn đã có tại thời điểm bạn bắt đầu hoạt động.

Xóa dữ liệu luồng dữ liệu từ bất kỳ nút nào có sẵn sở hữu phạm vi. Có thể bạn có thể vi phạm tính nhất quán (và thậm chí có khả năng mất dữ liệu) tùy thuộc vào thời gian của bạn kể từ khi sửa chữa và mức độ nhất quán mà bạn sử dụng để ghi dữ liệu.

Thông thường, bạn nên ngừng hoạt động nếu có thể. Hãy tưởng tượng bạn có 5 cụm nút (AE), và một chữ viết sẽ được gửi đến B, C và D. Bạn viết với số đại biểu, vì vậy vì lý do nào đó C bị hỏng, nhưng ghi vào B và D. Khi C quay lại trực tuyến, D cần phải được loại bỏ khỏi cụm (bạn đang giảm kích thước, hoặc thay đổi ổ đĩa, hoặc một cái gì đó).

  • Nếu D là trực tuyến, bạn chạy ngừng hoạt động, và D sẽ gửi dữ liệu của nó để E - bạn giữ 2 bản sao của tất cả các dữ liệu, và bạn sẽ có thể chạy sửa chữa sau để có được ghi vào C

  • Nếu D ngoại tuyến hoặc nếu bạn chạy xóa thay vì ngừng hoạt động, bạn có thể truyền từ C thay vì D. Trong trường hợp này, bạn hiện có 2 bản sao (C và E) bị thiếu dữ liệu. Nếu bạn đọc số đại biểu, bây giờ bạn có thể nhấn C và E thay vì B, và nhận được kết quả là thiếu dữ liệu. Một sửa chữa có thể giải quyết điều này, miễn là viết ban đầu của bạn đã đi đến nhiều hơn một nút, nhưng nếu ban đầu của bạn viết chỉ đi đến một nút, bạn thực sự có thể mất dữ liệu.

Assassinate là công cụ hiếm khi được sử dụng chỉ nên sử dụng công cụ để buộc một nút ra khỏi cụm. Không có luồng nào được thực hiện. Khả năng mất dữ liệu cao hơn đáng kể, đặc biệt nếu bạn sử dụng RF < 3 và viết với CL < TẤT CẢ.

+0

Điều đó có ý nghĩa rất nhiều! Ngoài ra, cách tiếp theo để nâng cấp máy chủ là gì? Nhấn nút thoát nút nodetool trên nút, xuống nó, sao chép sstables sang nút mới, thực hiện nút xóa cho nút trước đó và thêm nút hiện tại này? –

+0

Bạn đang nói về loại nâng cấp nào? Nâng cấp phần cứng? Bạn có lẽ không bao giờ cần phải tự sao chép sstables. –

+0

Ya im tự hỏi điều gì có thể là phương pháp hiệu quả nhất. Theo [liên kết này] (https://docs.datastax.com/en/cassandra/2.1/cassandra/operations/ops_replace_live_node.html) Một cần thêm nút mới vào máy chủ và sau đó sau khi quá trình bootstrapping hoàn tất, hãy ngừng hoạt động nút cũ. Nhưng làm thế nào về chỉ cống nút cũ, ngăn chặn nó, và sao chép các sstables vào máy chủ nâng cấp và làm cho nó chạy? Im chắc chắn im mất một điểm ở đây. –

1

Sự khác biệt nằm ở cách dữ liệu được di chuyển. Trong thời gian ngừng hoạt động, nút rời di chuyển dữ liệu trước khi rời khỏi cụm nơi như trong nút xóa, dữ liệu được di chuyển bằng cách sử dụng các bản sao có cùng mã thông báo trong cụm.

Do đó, không thể thực hiện việc ngừng hoạt động bằng nút chết.

+0

Còn về việc ám sát. Sự khác biệt giữa ám sát và xóa bỏ là gì? –

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