Khi thêm nút Cassandra vào một cụm, bạn cần 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 Cassandra không được thay đổi để giảm thiểu luồng và duy trì vòng cân bằng.
- Số lượng nút trong tất cả các trung tâm dữ liệu phải duy trì ở mức nhất quán.
Để đảm bảo mục tiêu đầu tiên, bạn cần tăng gấp đôi số nút trong cụm Cassandra mỗi khi thêm nút mới.
Ví dụ: nếu bạn bắt đầu với cấu trúc liên kết 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, 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 (sáu 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 sáu nút bổ sung vào mỗi trung tâm dữ liệu, kết quả là 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 3 nút Cassandra mới vào một Edge hiện có để cài đặt Đám mây riêng tư. 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ố 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 mục Các yêu cầu khi cài đặt.
Cấu hình Edge hiện có
Tất cả cấu trúc liên kết Edge được hỗ trợ cho một hệ thống sản xuất đều chỉ định sử dụng ba Cassandra
nút. 3 nút này đượ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 có
khi thêm các nút Cassandra mới.
Sửa đổi tệp cấu hình để thêm ba nút Cassandra mới
Trong ví dụ này, ba nút Cassandra mới nằm tại đị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"
Việc này giúp đảm bảo các nút hiện có vẫn giữ nguyên 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 giá trị mã thông báo của các nút hiện có.
Định cấu hình cho 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 Cassandra hiện có nút
Trên các nút Cassandra hiện có:
- Chạy lại lệnh setup.sh với lệnh "-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
Làm theo quy trình dưới đây để 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ư được mô tả trong Cài đặt Tiện ích thiết lập API 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 2 bước này cho các nút Cassandra mới còn lại.
- Cài đặt
- Tạo lại 3 nút Cassandra mới, chỉ định tên khu vực làm trung tâm dữ liệu
trong đó bạn sẽ thêm nút (
dc-1
,dc-2
, v.v.). Trong ví dụ này, thuộc tính 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 chuyển tên người dùng và mật khẩu của mình 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 Quản lý-Máy chủ
- Chạy lại setup.sh để cập nhật Máy chủ quản lý cho các nút Cassandra mới được 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à thư Bộ xử lý
- Trên tất cả Bộ định tuyến:
/opt/apigee/apigee-service/bin/apigee-service edge-router restart
- Trên tất cả Trình xử lý thư:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
Giải phóng dung lượng ổ đĩa hiện có Nút Cassandra
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 sẵn có để giải phóng dung lượng ổ đĩa. Lệnh này sẽ xoá những mã thông báo cấu hình không có
thuộc sở hữu của nút Cassandra có sẵn từ trước.
Để giải phóng dung lượng ổ đĩa trên các nút Cassandra có sẵn sau khi thêm một nút mới, hãy thực thi sau đây:
/opt/apigee/apigee-cassandra/bin/nodetool [-u username -pw password] -h cassandraIP cleanup
Bạn chỉ cần chuyển tên người dùng và mật khẩu của mình nếu bạn bật tính năng xác thực JMX cho Cassandra.
Xác minh việc tạo lại
Hãy 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 sẽ cho biết MODE: Normal
khi nút được nâng cấp và các chỉ mục
được xây dựng.
nodetool [-u username -pw password] -h nodeIP statusthrift
Sẽ cho biết rằng máy chủ tiết kiệm đang chạy, cho phép Cassandra chấp nhận ứng dụng mới yêu cầu.
nodetool [-u username -pw password] -h nodeIP statusbinary
Sẽ cho biết rằng truyền tải gốc (hoặc giao thức nhị phân) đang chạy.
nodetool [-u username -pw password] -h nodeIP describecluster
Sẽ cho thấy các nút mới đang sử dụng cùng phiên bản giản đồ với các nút cũ.
Để 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ụngnodetool.