Phần này đưa ra hướng dẫn chung về việc mở rộng quy mô hoạt động của Cassandra bằng cách thông báo cho Cassandra trên Apigee Edge dành cho đám mây riêng tư về giá đỡ đám mây riêng tư.
Để biết thêm thông tin về lý do tại sao việc nhận biết giá đỡ nhẫn Cassandra lại quan trọng, hãy xem các tài nguyên sau:
- Bản sao (Tài liệu về Clang)
- Chiến lược về kiến trúc và yếu tố sao chép của Cassandra
Giá đỡ là gì?
Giá đỡ Cassandra là một nhóm logic các nút Cassandra trong vòng. Cassandra sử dụng giá đỡ để đảm bảo các bản sao được phân phối giữa các nhóm logic khác nhau. Do đó, các hoạt động được gửi không chỉ đến một nút mà còn đến nhiều nút, mỗi nút trên một giá đỡ riêng biệt, giúp cải thiện khả năng chấp nhận lỗi và khả năng xử lý.
Các ví dụ trong phần này sử dụng 3 giá đỡ Cassandra. Đây là số lượng giá đỡ được Apigee hỗ trợ trong các cấu trúc liên kết sản xuất.
Việc cài đặt mặc định Cassandra trong Apigee Edge dành cho đám mây riêng tư sẽ giả định một giá logic duy nhất và đặt tất cả các nút vào một trung tâm dữ liệu bên trong đó. Mặc dù cấu hình này dễ cài đặt và quản lý, nhưng rất dễ bị lỗi nếu thao tác không thành công trên một trong các nút đó.
Hình ảnh sau đây cho thấy cấu hình mặc định của vòng Cassandra:
Ở một cấu hình mạnh mẽ hơn, mỗi nút sẽ được gán cho một giá đỡ riêng biệt và các thao tác cũng sẽ được thực thi trên các bản sao của mỗi giá trị đó.
Hình ảnh sau đây cho thấy một vòng 3 nút. Hình ảnh này cho thấy thứ tự sao chép các thao tác trên vòng tròn (theo chiều kim đồng hồ) và làm nổi bật thực tế là không có hai nút nào trên cùng một giá:
Trong cấu hình này, các hoạt động được gửi đến một nút nhưng cũng được gửi tới các bản sao của nút đó trên các giá đỡ khác (theo chiều kim đồng hồ).
Thêm nhận biết giá (với 3 nút)
Tất cả cấu trúc liên kết cài đặt phát hành chính thức của Apigee Edge for Private Cloud đều có ít nhất 3 nút Cassandra, phần này gọi là "IP1", "IP2" và "IP3". Theo mặc định, mỗi nút này nằm trong cùng một giá đỡ, "ra-1".
Phần này mô tả cách chỉ định nút Cassandra cho các giá đỡ riêng biệt để tất cả thao tác được gửi tới các nút bản sao trong các nhóm logic riêng biệt trong vòng nhẫn.
Cách chỉ định các nút Cassandra cho các giá đỡ khác nhau trong quá trình cài đặt:
- Trước khi chạy trình cài đặt, hãy đăng nhập vào nút Cassandra và mở tệp cấu hình im lặng sau đây để chỉnh sửa:
/opt/silent.conf
Tạo tệp nếu tệp chưa tồn tại và đảm bảo đặt người dùng "apigee" làm chủ sở hữu.
- Chỉnh sửa thuộc tính
CASS_HOSTS
, một danh sách các địa chỉ IP được phân tách bằng dấu cách (không phải mục nhập DNS hoặc tên máy chủ) sử dụng cú pháp sau:CASS_HOSTS="IP_address:data_center_number,rack_number [...]"
Giá trị mặc định là một vòng Cassandra ba nút với mỗi nút được gán cho giá 1 và trung tâm dữ liệu 1, như ví dụ sau đây:
CASS_HOSTS="IP1:1,1 IP2:1,1 IP3:1,1"
- Thay đổi cách chỉ định giá trị để nút 2 được gán cho giá đỡ 2 và nút 3 được gán cho giá đỡ 3, như ví dụ dưới đây:
CASS_HOSTS="IP1:1,1 IP2:1,2 IP3:1,3"
Bằng cách thay đổi cách gán giá đỡ, bạn hướng dẫn Cassandra tạo thêm hai nhóm logic (giá đỡ), sau đó cung cấp các bản sao nhận được tất cả thao tác mà nút đầu tiên nhận được.
Để biết thêm thông tin về cách sử dụng thuộc tính cấu hình
CASS_HOSTS
, hãy xem Tài liệu tham khảo về tệp cấu hình cạnh. - Lưu các thay đổi vào tệp cấu hình và thực thi lệnh sau để cài đặt
Cassandra với cấu hình đã cập nhật:
/opt/apigee/apigee-setup/bin/setup.sh -p c -f path/to/silent/config
Ví dụ:
/opt/apigee/apigee-setup/bin/setup.sh -p c -f /opt/silent.conf
- Lặp lại quy trình này cho mỗi nút Cassandra trong vòng tròn, theo thứ tự mà các nút được gán trong thuộc tính
CASS_HOSTS
. Trong trường hợp này, bạn phải cài đặt Cassandra theo thứ tự sau:- Nút 1 (IP1)
- Nút 2 (IP2)
- Nút 3 (IP3)
Sau khi cài đặt, bạn nên Kiểm tra cấu hình Cassandra.
Kiểm tra cấu hình Cassandra
Sau khi cài đặt cấu hình Cassandra có khả năng nhận biết giá đỡ, bạn có thể kiểm tra để đảm bảo rằng các nút đã được gán cho các giá đỡ khác nhau bằng lệnh nodetool status
, như ví dụ dưới đây cho thấy:
/opt/apigee/apigee-cassandra/bin/nodetool status
(Bạn thực thi lệnh này trên một trong các nút Cassandra.)
Kết quả sẽ tương tự như kết quả sau, trong đó cột Rack cho thấy các mã giá đỡ khác nhau cho mỗi nút:
Datacenter: dc-1 ======================== Status=Up/Down |/ State=Normal/Leaving/Joining/Moving -- Address Load Tokens Owns Host ID Rack UN IP1 737 MB 256 ? 554d4498-e683-4a53-b0a5-e37a9731bc5c ra-1 UN IP2 744 MB 256 ? cf8b7abf-5c5c-4361-9c2f-59e988d52da3 ra-2 UN IP3 723 MB 256 ? 48e0384d-738f-4589-aa3a-08dc5bd5a736 ra-3
Nếu đã bật tính năng xác thực JMX cho Cassandra, bạn cũng phải truyền tên người dùng và mật khẩu của mình vào nodetool
. Để biết thêm thông tin, hãy xem phần Sử dụng công cụ nút để quản lý các nút cụm.
Lắp vòng sáu nút
Để dự phòng thêm, bạn có thể mở rộng vòng Cassandra đến 6 nút. Trong trường hợp này, bạn gán hai nút cho mỗi nút trong số 3 giá đỡ. Cấu hình này yêu cầu thêm ba nút: Nút 4 (IP4), Nút 5 (IP5) và Nút 6 (IP6).
Hình ảnh sau đây cho thấy thứ tự sao chép các thao tác trên vòng tròn (theo chiều kim đồng hồ) và làm nổi bật thực tế là trong quá trình sao chép, không có 2 nút liền kề nào nằm trên cùng một giá đỡ:
Trong cấu hình này, mỗi nút có thêm hai bản sao: một bản sao ở mỗi nút trong hai giá đỡ còn lại. Ví dụ: nút 1 trong giá 1 có một bản sao trong Giá 2 và Giá 3. Các thao tác gửi đến nút 1 cũng được gửi đến các bản sao trong các giá đỡ khác theo thứ tự chiều kim đồng hồ.
Để mở rộng vòng Cassandra ba nút thành vòng Cassandra sáu nút, hãy định cấu hình các nút theo cách sau trong tệp cấu hình im lặng:
CASS_HOSTS="IP1:1,1 IP4:1,3 IP2:1,2 IP5:1,1 IP3:1,3 IP6:1,2"
Giống như vòng ba nút, bạn phải cài đặt Cassandra theo thứ tự các nút xuất hiện trong thuộc tính CASS_HOSTS
:
- Nút 1 (IP1)
- Nút 4 (IP4)*
- Nút 2 (IP2)
- Nút 5 (IP5)
- Nút 3 (IP3)
- Nút 6 (IP6)
* Thực hiện các thay đổi của bạn trong tệp cấu hình im lặng trước khi chạy tiện ích thiết lập ở nút thứ tư (máy thứ hai theo thứ tự cài đặt Cassandra).
Mở rộng tối đa 12 nút
Để tăng thêm khả năng chống lỗi và khả năng sử dụng lỗi, bạn có thể tăng số lượng nút Cassandra trong vòng từ 6 lên 12. Cấu hình này yêu cầu thêm 6 nút (IP7 đến IP12).
Hình ảnh sau đây cho thấy thứ tự sao chép các thao tác trên vòng tròn (theo chiều kim đồng hồ) và làm nổi bật thực tế là trong quá trình sao chép, không có 2 nút liền kề nào nằm trên cùng một giá đỡ:
Quy trình cài đặt một vòng 12 nút tương tự như cài đặt một vòng 3 hoặc 6 nút: đặt CASS_HOSTS
thành các giá trị cho sẵn và chạy trình cài đặt theo thứ tự đã chỉ định.
Để mở rộng thành vòng Cassandra 12 nút, hãy định cấu hình các nút theo cách sau trong tệp cấu hình im lặng:
CASS_HOSTS="IP1:1,1 IP7:1,2 IP4:1,3 IP8:1,1 IP2:1,2 IP9:1,3 IP5:1,1 IP10:1,2 IP3:1,3 IP11:1,1 IP6:1,2 IP12:1,3"
Giống như vòng ba và sáu nút, bạn phải thực thi trình cài đặt trên các nút theo thứ tự xuất hiện các nút trong tệp cấu hình:
- Nút 1 (IP1)
- Nút 7 (IP7)*
- Nút 4 (IP4)
- Nút 8 (IP8)
- Nút 2 (IP2)
- Nút 9 (IP9)
- Nút 5 (IP5)
- Nút 10 (IP10)
- Nút 3 (IP3)
- Nút 11 (IP11)
- Nút 6 (IP6)
- Nút 12 (IP12)
* Bạn phải thực hiện những thay đổi này trước khi cài đặt Apigee Edge cho Đám mây riêng tư trên nút thứ 7 (máy thứ hai theo thứ tự cài đặt Cassandra).