2013-06-06 48 views
6

Chúng tôi đang tạo lập trình các nút Cassandra (tự động tạo yaml và sử dụng CassandraDaemon). Lý tưởng nhất là chúng tôi có thể sử dụng các cổng khác nhau trên các máy chủ khác nhau do nhu cầu cấu hình. Điều này có thể (thông qua đặc tả hạt giống hoặc thực hiện một lớp tùy chỉnh)? Dường như danh sách hạt giống chỉ có thể lấy địa chỉ IP chứ không phải cổng.Có thể sử dụng các cổng khác nhau cho các nút trong cụm Cassandra không?

Trả lời

3

Sau khi xem source có liên quan trong mã mạng Cassandra, rõ ràng là điều này không được hỗ trợ. Trong phương thức newSocket(), cổng cho nút từ xa được lấy từ tĩnh DatabaseDescriptor.getSSLStoragePort() (trích dẫn bên dưới). Điều này không cung cấp giá trị khác nhau cho mỗi máy chủ hoặc bất kỳ móc nào để làm như vậy:

public Socket newSocket() throws IOException 
{ 
    // zero means 'bind on any available port.' 
    if (isEncryptedChannel()) 
    { 
     return SSLFactory.getSocket(DatabaseDescriptor.getEncryptionOptions(), endPoint(), DatabaseDescriptor.getSSLStoragePort(), FBUtilities.getLocalAddress(), 0); 
    } 
    else { 
     return new Socket(endPoint(), DatabaseDescriptor.getStoragePort(), FBUtilities.getLocalAddress(), 0); 
    } 
} 
2

hãy xem https://github.com/pcmanus/ccm, họ đang sử dụng nhiều trường hợp cassandra trên cùng một nút. bạn có thể thấy họ đang làm như thế nào.

+0

Cảm ơn, nhưng tôi không hỏi về nhiều phiên bản trên cùng một nút. Tôi hỏi về trường hợp trong cùng một cụm (nhưng trên máy chủ khác nhau) bằng cách sử dụng cổng khác nhau. –

+0

cũng như tôi hiểu, điều này ccm công cụ đang chạy các trường hợp khác nhau trên cùng một nút trên các cổng khác nhau để các trường hợp không va chạm vào cổng và sau đó nó đặt chúng trong cùng một cụm là tốt. Vì vậy, nó không phải về việc có chúng trên cùng một nút, về việc có các trường hợp khác nhau chạy trên các cổng khác nhau ,,, –

+0

tôi đã xem xét nhưng tôi không thấy bất kỳ bằng chứng nào về việc sử dụng các cổng khác nhau. họ đang sử dụng các IP khác nhau trên cùng một nút, vì vậy họ không cần phải sử dụng các cổng khác nhau. –

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