2012-11-09 32 views
6

Vì vậy, có một số lượng tài liệu hợp lý về cách mở rộng Cassandra, nhưng đây có phải là một nguồn tài nguyên tốt về cách "loại bỏ" Cassandra và loại bỏ các nút khỏi cụm sao? Nó đơn giản như tắt một nút, cho phép cluster đồng bộ một lần nữa, và lặp lại?Cách tốt nhất để thu nhỏ cụm Cassandra

Lý do là cho một trang web kỳ vọng lưu lượng truy cập cao, tăng từ vài nghìn lần truy cập hàng ngày lên hàng trăm nghìn trong vài ngày. Các trang web sẽ được "ramped lên" trước khi bàn tay, bắt đầu lên nhiều trường hợp của máy chủ web, Cassandra, vv Sau khi torrent yêu cầu subsides, mục tiêu là để tắt các trường hợp không còn được sử dụng, thay vì trả tiền cho các máy chủ chỉ đang ngồi xung quanh.

Trả lời

6

Nếu bạn chỉ cần đóng các nút xuống và cụm cân bằng, bạn có nguy cơ mất một số dữ liệu, chỉ tồn tại trên các nút đã loại bỏ và chưa sao chép.

Thu nhỏ cụm an toàn có thể dễ dàng thực hiện bằng nodetool. Lúc đầu, hãy chạy:

nodetool drain 

... vào nút gỡ bỏ, để ngừng nhận viết và memtables tuôn ra, sau đó:

nodetool decommission 

Để di chuyển dữ liệu nút để nút khác, và sau đó đóng nút xuống và chạy trên một số nút khác:

nodetool removetoken 

... để xóa nút khỏi cụm hoàn toàn. Bạn có thể tìm thấy tài liệu chi tiết tại đây: http://wiki.apache.org/cassandra/NodeTool

Từ kinh nghiệm của tôi, tôi khuyên bạn nên xóa từng nút một, chứ không phải theo lô. Phải mất nhiều thời gian hơn, nhưng an toàn hơn nhiều trong trường hợp mất mạng hoặc lỗi phần cứng.

2

Khi bạn xóa các nút, bạn có thể phải cân bằng lại cụm, di chuyển một số nút đến một mã thông báo mới. Trong phạm vi được lập kế hoạch, bạn cần phải:

1 - giảm thiểu số lần di chuyển.

2 - nếu bạn phải di chuyển một nút, hãy giảm thiểu lượng dữ liệu được chuyển.

Có một bài viết về cân bằng cụm có thể hữu ích: Balancing Your Cassandra Cluster

Ngoài ra, sự khởi đầu của this video được về thêm nút và loại bỏ các hoạt động nút và chiến lược tốt nhất để giảm thiểu tác động cụm trong mỗi một trong các hoạt động.

Hy vọng rằng, 2 tài liệu tham khảo này sẽ cung cấp cho bạn đủ thông tin để lên kế hoạch cho bạn.

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