2013-01-23 47 views
6

Làm thế nào tôi có thể chạy 3 nút cassandra (thực ra là một cụm) từ Ubuntu của tôi? Tôi không muốn tạo ra 3 trường hợp của VMWare/VirtualBox nhưng thay vào đó, cấu hình mỗi nút cassandra để nghe một cổng khác. Là có thể với một cài đặt cassandra?Chạy nhiều nút cassandra (một cụm) từ cùng một máy?

Một giải pháp mà tôi nghĩ là có 3 cài đặt cassandra cục bộ và cấu hình mỗi cassandra.yaml một cách độc lập nhưng thực sự tôi muốn đạt được điều đó bằng các tệp cấu hình cassandra đã cài đặt của mình.

Tôi chỉ cần cấu hình như vậy cho mục đích thử nghiệm.

+0

Điều này không thể thực hiện bằng cách gán các cổng khác nhau vì một số không thể cấu hình dễ dàng. Tuy nhiên nó rất dễ dàng để làm điều này bằng cách sử dụng các địa chỉ đồng nghĩa của localhost (127.0.0.1, 127.0.0.2, vv). Cách tiếp cận này được mô tả trong câu trả lời cho http://stackoverflow.com/questions/22513979/setting-up-cassandra-multi-node-cluster-on-a-single-ubuntu-server/25348301#25348301 – h22

Trả lời

4

Tôi đoán nó sẽ là tốt nếu bạn có 3 bản sao của chương trình, 3 cấu hình khác nhau nơi mỗi cổng là khác nhau, và bạn sẽ phải loại trừ những cổng từ các ổ cắm kết nối có thể.

Chỉnh sửa Tôi không hiểu các downvotes. Đây thực sự là cách đơn giản nhất để thực hiện, có một tập hợp các tệp nhị phân và tạo một tập hợp các tệp conf và yaml cho mỗi nút của bạn, sau đó sử dụng một tập lệnh khởi chạy cho từng nút cục bộ mà bạn muốn.

Ví dụ: Máy 1 trên 7199, Máy 2 trên 7200, Máy 3 trên 7201, v.v. Sử dụng bí danh cho IP cục bộ của bạn, 127.0.0.2, .3, .4 etc

Vòng Nodetool sẽ hoạt động như dự định và hiển thị cho bạn một cụm, chỉ tất cả chúng sẽ có cùng địa chỉ IP gốc.

+0

Có lẽ các downvotes là bởi vì không phải tất cả các cổng đều có thể dễ dàng di chuyển, một số cổng được mã hóa cứng. Trông lỗi nhiều hơn một tính năng của Cassandra nhưng điều này đòi hỏi một số cách giải quyết đặc biệt. – h22

0

Tôi có vẻ có vấn đề với xung đột cổng trên thư viện JMX? trước đây, điều đó dường như không được định cấu hình thông qua yaml, nhưng có thể script khởi chạy .sh có thể vô hiệu hóa nó, dường như là tùy chọn JVM được xây dựng trong kịch bản lệnh khởi chạy.

Cũng có một thủ thuật với việc sử dụng một địa chỉ lặp lại khác nhau cho các phiên bản máy chủ để chúng có thể cùng tồn tại với cùng một cổng, nhưng nó lại gặp phải các vấn đề về vấn đề jamm. Đó là từ sách dạy nấu ăn hiệu quả cao của Packt cassandra.

Nhưng từ 1.2.5 trở lên, gần như tôi không thể thực hiện thành công.

+0

Điều này có thể dễ dàng được giải quyết bằng cách thiết lập một cổng JMX khác nhau cho mỗi cá thể Cassandra. Cổng này được định nghĩa trong conf/cassandra-env.sh, chỉnh sửa và nó sẽ hoạt động trở lại. – h22

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