2012-11-04 40 views
8

Có thể thêm các máy chủ mới vào một cụm Cassandra một cách linh động không?Tự động thêm các nút mới vào Cassandra

Những gì tôi đang cố gắng để làm là thiết lập một chương trình mà có thể:

  • Thiết lập một phiên bản cục bộ của cơ sở dữ liệu cho mỗi người dùng
  • máy của từng người dùng sẽ trở thành một phần của cụm (các máy sẽ được host)
  • dữ liệu sẽ được nhân rộng trên tất cả các cụm

Xây dựng một cụm nhiều host thường đòi hỏi configuring the cassandra.yaml để lưu trữ những hạt giống, listen_addr ess và rpc_address của mỗi máy chủ.

Ý tưởng của tôi là chỉnh sửa các tệp này thông qua java và chèn địa chỉ máy chủ mới theo yêu cầu nhưng đảm bảo dữ liệu chính xác trên các tệp cassandra.yaml của mỗi người dùng sẽ là một thử thách.

Tôi tự hỏi nếu ai đó đã làm điều gì đó tương tự hoặc có lời khuyên nào đó về cách tốt hơn để đạt được điều này.

Trả lời

3

Có thể. Hãy xem Netflix's Priam để có một ví dụ hoàn chỉnh về quản lý cụm Cassandra động (nhưng được thiết kế để hoạt động với Amazon EC2).

Đối với rpc_address và listen_address, bạn có thể thiết lập tập lệnh khởi động cấu hình cassandra.yaml nếu không ổn.

Đối với hạt, bạn có thể định cấu hình nhà cung cấp dịch vụ giống tùy chỉnh. Hãy xem seed provider used for Netflix's Priam để biết một số ý tưởng về cách triển khai nó

Phần khó nhất sẽ quản lý mã thông báo được gán cho từng nút một cách hiệu quả. Cassandra 1.2 nằm quanh góc và sẽ bao gồm một tính năng gọi là các nút ảo, IMO, sẽ hoạt động tốt trong trường hợp của bạn. Xem Acunu presentation about it

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