Khi thêm các nút Cassandra vào một cụm, bạn cần phải cân nhắc hai điểm chính sau:
- Vị trí hiện tại của các nút trong vòng tròn Cassandra không được thay đổi để giảm thiểu việc truyền trực tuyến và duy trì vòng tròn cân bằng.
- Số lượng nút trong tất cả các trung tâm dữ liệu phải nhất quán.
Để đảm bảo mục tiêu đầu tiên, điều quan trọng là bạn phải tăng gấp đôi số lượng nút trong cụm Cassandra mỗi khi thêm nút mới.
Ví dụ: nếu bắt đầu với một cấu hình cài đặt cụm 12 nút tiêu chuẩn được phân phối trên hai trung tâm dữ liệu, thì bạn sẽ có tổng cộng 6 nút Cassandra – 3 nút trong mỗi trung tâm dữ liệu. Để mở rộng cụm này, bạn nên thêm 3 nút vào mỗi trung tâm dữ liệu, tăng tổng số nút lên 12 (6 nút trong mỗi trung tâm dữ liệu). Nếu cần mở rộng thêm, bạn nên thêm 6 nút vào mỗi trung tâm dữ liệu, tổng số nút là 24 (12 nút trong mỗi trung tâm dữ liệu).
Tài liệu này cung cấp hướng dẫn về cách thêm ba nút Cassandra mới vào một bản cài đặt Edge for Private Cloud hiện có. Bạn có thể làm theo các bước tương tự để thêm các nút khác. Luôn đảm bảo rằng khi mở rộng cụm, bạn tăng gấp đôi số lượng nút.
Để biết danh sách các yêu cầu về hệ thống đối với nút Cassandra, hãy tham khảo phần Yêu cầu cài đặt.
Cấu hình Edge hiện có
Tất cả các cấu hình Edge được hỗ trợ cho một hệ thống phát hành công khai đều chỉ định sử dụng ba nút Cassandra. Ba nút được chỉ định cho thuộc tính CASS_HOSTS
trong tệp cấu hình như minh hoạ dưới đây:
IP1=10.10.0.1 IP2=10.10.0.2 IP3=10.10.0.3 HOSTIP=$(hostname -i) ADMIN_EMAIL=opdk@google.com APIGEE_ADMINPW=Secret123 LICENSE_FILE=/tmp/license.txt MSIP=$IP1 USE_LDAP_REMOTE_HOST=n LDAP_TYPE=1 APIGEE_LDAPPW=secret MP_POD=gateway REGION=dc-1 ZK_HOSTS="$IP1 $IP2 $IP3" ZK_CLIENT_HOSTS="$IP1 $IP2 $IP3" # Must use IP addresses for CASS_HOSTS, not DNS names. CASS_HOSTS="$IP1:1,1 $IP2:1,1 $IP3:1,1" SKIP_SMTP=n SMTPHOST=smtp.example.com SMTPUSER=smtp@example.com SMTPPASSWORD=smtppwd
Xin lưu ý rằng thuộc tính REGION
chỉ định tên khu vực là "dc-1". Bạn cần thông tin đó khi thêm các nút Cassandra mới.
Sửa đổi tệp cấu hình để thêm 3 nút Cassandra mới
Trong ví dụ này, ba nút Cassandra mới nằm ở các địa chỉ IP sau:
- 10.10.0.14
- 10.10.0.15
- 10.10.0.16
Trước tiên, bạn phải cập nhật tệp cấu hình Edge để thêm các nút mới:
IP1=10.10.0.1 IP2=10.10.0.2 IP3=10.10.0.3 # Add the new node IP addresses. IP14=10.10.0.14 IP15=10.10.0.15 IP16=10.10.0.16 HOSTIP=$(hostname -i) ADMIN_EMAIL=opdk@google.com ... # Update CASS_HOSTS to add each new node after an existing nodes. # Must use IP addresses for CASS_HOSTS, not DNS names. CASS_HOSTS="$IP1:1,1 $IP14:1,1 $IP2:1,1 $IP15:1,1 $IP3:1,1 $IP16:1,1"
Điều này đảm bảo rằng các nút hiện có giữ lại chế độ cài đặt mã thông báo ban đầu và mã thông báo ban đầu của mỗi nút mới nằm giữa các giá trị mã thông báo của các nút hiện có.
Định cấu hình Edge
Sau khi chỉnh sửa tệp cấu hình, bạn phải:
- Định cấu hình lại các nút Cassandra hiện có
- Cài đặt Cassandra trên các nút mới
- Định cấu hình lại Máy chủ quản lý
Định cấu hình lại các nút Cassandra hiện có
Trên các nút Cassandra hiện có:
- Chạy lại setup.sh bằng hồ sơ "-p c" và tệp cấu hình mới:
/opt/apigee/apigee-setup/bin/setup.sh -p c -f updatedConfigFile
Cài đặt Cassandra trên các nút mới
Hãy làm theo quy trình bên dưới để cài đặt Cassandra trên các nút mới.
Trên mỗi nút Cassandra mới:
- Cài đặt Cassandra trên 3 nút:
- Cài đặt
apigee-setup
trên nút đầu tiên như mô tả trong phần Cài đặt tiện ích thiết lập apigee-setup của Edge. - Cài đặt Cassandra trên nút đầu tiên bằng cách sử dụng tệp cấu hình đã cập nhật:
/opt/apigee/apigee-setup/bin/setup.sh -p c -f updatedConfigFile
- Lặp lại hai bước này cho các nút Cassandra mới còn lại.
- Cài đặt
- Tạo lại ba nút Cassandra mới, chỉ định tên khu vực là trung tâm dữ liệu mà bạn đang thêm nút (
dc-1
,dc-2
, v.v.). Trong ví dụ này, đó làdc-1
:- Trên nút đầu tiên, hãy chạy:
/opt/apigee/apigee-cassandra/bin/nodetool [-u username -pw password] -h nodeIP rebuild dc-1
Trong đó, nodeIP là địa chỉ IP của nút Cassandra.
Bạn chỉ cần truyền tên người dùng và mật khẩu nếu bạn đã bật tính năng xác thực JMX cho Cassandra.
- Lặp lại bước này trên các nút Cassandra mới còn lại.
- Trên nút đầu tiên, hãy chạy:
Định cấu hình lại Máy chủ quản lý
Trên nút Máy chủ quản lý
- Chạy lại setup.sh để cập nhật Máy chủ quản lý cho các nút Cassandra mới thêm:
/opt/apigee/apigee-setup/bin/setup.sh -p ms -f updatedConfigFile
Khởi động lại tất cả Bộ định tuyến và Bộ xử lý thông báo
- Trên tất cả bộ định tuyến:
/opt/apigee/apigee-service/bin/apigee-service edge-router restart
- Trên tất cả Bộ xử lý thông báo:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
Dung lượng ổ đĩa trống trên các nút Cassandra hiện có
Sau khi thêm một nút mới, bạn có thể sử dụng lệnh nodetool cleanup
trên các nút đã có sẵn để giải phóng dung lượng ổ đĩa. Lệnh này xoá các mã thông báo cấu hình không còn thuộc quyền sở hữu của nút Cassandra hiện có.
Để giải phóng dung lượng ổ đĩa trên các nút Cassandra hiện có sau khi thêm một nút mới, hãy thực thi lệnh sau:
/opt/apigee/apigee-cassandra/bin/nodetool [-u username -pw password] -h cassandraIP cleanup
Bạn chỉ cần truyền tên người dùng và mật khẩu nếu bạn đã bật tính năng xác thực JMX cho Cassandra.
Xác minh quá trình tạo lại
Sử dụng các lệnh sau để xác minh rằng quá trình tạo lại đã thành công:
nodetool [-u username -pw password] -h nodeIP netstats
Lệnh này cho biết liệu phương thức truyền tải gốc (hoặc giao thức nhị phân) có đang chạy hay không, cho phép Cassandra chấp nhận các yêu cầu mới của ứng dụng.
nodetool [-u username -pw password] -h nodeIP statusbinary
Lệnh này cho biết liệu phương thức truyền tải gốc (hoặc giao thức nhị phân) có đang chạy hay không.
nodetool [-u username -pw password] -h nodeIP describecluster
Lệnh này cho biết liệu các nút mới có đang sử dụng cùng một phiên bản giản đồ với các nút cũ hay không.
Để biết thêm thông tin về cách sử dụng nodetool
, hãy xem tài liệu về cách sử dụng nodetool.