Đôi khi, bạn có thể cần phải gỡ bỏ trung tâm dữ liệu. Ví dụ: nếu đang nâng cấp hệ điều hành, bạn cần để cài đặt hệ điều hành mới trong trung tâm dữ liệu mới, sau đó gỡ bỏ trung tâm dữ liệu cũ. Các phần sau đây trình bày một ví dụ về việc gỡ bỏ trung tâm dữ liệu, trong đó có hai trung tâm dữ liệu, dc-1 và dc-2, trên một 12 nút cài đặt theo cụm:
- dc-1 là trung tâm dữ liệu sẽ ngừng hoạt động.
- dc-2 là trung tâm dữ liệu thứ hai, được sử dụng trong quy trình gỡ bỏ.
Nếu bạn đang nâng cấp hệ điều hành của bạn, dc-2 có thể là trung tâm dữ liệu mà bạn đã cài đặt phiên bản hệ điều hành (OS) mới. Tuy nhiên, bạn không bắt buộc phải cài đặt hệ điều hành mới để gỡ bỏ trung tâm dữ liệu.
Những điều cần cân nhắc trước khi ngừng hoạt động của trung tâm dữ liệu
Khi bạn gỡ bỏ trung tâm dữ liệu, hãy ghi nhớ những điều sau:
- Chặn tất cả lưu lượng truy cập thời gian chạy và lưu lượng quản lý đến trung tâm dữ liệu đang ngừng hoạt động và chuyển hướng chúng sang các trung tâm dữ liệu khác.
- Sau khi ngừng hoạt động của trung tâm dữ liệu, dung lượng của bạn trong cụm Apigee sẽ bị giảm. Để bù đắp, hãy cân nhắc việc tăng dung lượng trong các trung tâm dữ liệu còn lại hoặc thêm trung tâm dữ liệu sau khi ngừng hoạt động.
- Trong quá trình gỡ bỏ, dữ liệu phân tích có thể bị mất, tuỳ thuộc vào những thành phần phân tích nào được cài đặt trong trung tâm dữ liệu sẽ ngừng hoạt động. Bạn có thể tìm thấy chi tiết khác trong Thêm hoặc xoá Qpid nút.
- Trước khi gỡ cài đặt một trung tâm dữ liệu, bạn nên hiểu cách thức tất cả các thành phần được định cấu hình trên tất cả các trung tâm dữ liệu, đặc biệt là OpenLDAP, ZooKeeper, Cassandra, và Postgres. Bạn cũng nên sao lưu tất cả các thành phần và cấu hình của các thành phần đó.
Trước khi bắt đầu
- Máy chủ quản lý: Tất cả các bước gỡ bỏ đều phụ thuộc nhiều vào Máy chủ quản lý. Nếu bạn chỉ có một tài khoản Máy chủ quản lý có sẵn, bạn nên cài đặt một phiên bản Thành phần Máy chủ quản lý trên trung tâm dữ liệu không phải dc-1 trước khi ngừng hoạt động của phần Quản lý Máy chủ trên dc-1 và đảm bảo rằng một trong các Máy chủ quản lý luôn khả dụng.
- Bộ định tuyến: Trước khi ngừng hoạt động Bộ định tuyến, hãy tắt khả năng kết nối của Bộ định tuyến bằng cách chặn cổng 15999. Đảm bảo không có thời gian chạy lưu lượng truy cập đang hướng vào Bộ định tuyến đang ngừng hoạt động.
Cassandra và ZooKeeper: Các phần dưới đây mô tả cách gỡ bỏ dc-1 trong quá trình thiết lập hai trung tâm dữ liệu. Nếu bạn có nhiều hơn hai trung tâm dữ liệu, hãy nhớ xóa mọi thông tin tham chiếu đến nút bị ngừng hoạt động (dc-1 trong trường hợp này) khỏi mọi tệp cấu hình im lặng trên tất cả các trung tâm dữ liệu còn lại. Đối với các nút Cassandra sẽ ngừng hoạt động, hãy xoá các máy chủ đó khỏi
CASS_HOSTS
. Các nút Cassandra còn lại phải giữ nguyên thứ tự ban đầu làCASS_HOSTS
.Postgres: Nếu bạn giải phóng bậc thầy Postgres, hãy nhớ quảng bá bất kỳ các nút chờ hiện có làm một bản chính mới của postgres. Trong khi máy chủ QPID lưu giữ vùng đệm trong hàng đợi, nếu trang cái chính Postgres không sử dụng được trong thời gian dài, bạn sẽ có nguy cơ mất dữ liệu phân tích.
Điều kiện tiên quyết
Trước khi gỡ bỏ bất kỳ thành phần nào, bạn nên sao lưu toàn bộ tất cả nút. Sử dụng quy trình dành cho phiên bản Edge hiện tại của bạn để thực hiện sao lưu. Để biết thêm thông tin về tính năng sao lưu, hãy xem Sao lưu và khôi phục.
Lưu ý: Nếu bạn có nhiều nút Cassandra hoặc ZooKeeper, hãy sao lưu lần lượt từng nút. vì quá trình sao lưu sẽ tạm thời tắt ZooKeeper.
- Đảm bảo rằng Edge đang hoạt động trước khi ngừng hoạt động bằng lệnh:
/opt/apigee/apigee-service/bin/apigee-all status
- Đảm bảo rằng hiện không có lưu lượng truy cập trong thời gian chạy đến trung tâm dữ liệu bạn đang truy cập đang ngừng hoạt động.
Thứ tự các thành phần ngừng hoạt động
Nếu cài đặt Edge cho Cloud riêng tư trên nhiều nút, bạn nên ngừng hoạt động Các thành phần cạnh trên các nút đó theo thứ tự sau:
- Giao diện người dùng Edge (Edge UI)
- Máy chủ quản lý (máy chủ quản lý cạnh)
- OpenLDAP (apigee-openldap)
- Bộ định tuyến (bộ định tuyến cạnh)
- Bộ xử lý tin nhắn (Ed-message-xử lý)
- Máy chủ Qpid và Qpidd (edge-qpid-server và apigee-qpidd)
- Postgres và Cơ sở dữ liệu PostgreSQL (edge-postgres-server và apigee-postgresql)
- Người giữ thú cưng (apigee-zookeeper)
- Cassandra (apigee-cassandra)
Các phần sau đây giải thích cách huỷ bỏ từng thành phần.
Giao diện người dùng Edge
Để dừng và gỡ cài đặt thành phần giao diện người dùng Edge của dc-1, hãy nhập các lệnh sau:
/opt/apigee/apigee-service/bin/apigee-service edge-ui stop
/opt/apigee/apigee-service/bin/apigee-service edge-ui uninstall
Máy chủ quản lý
Để ngừng hoạt động Máy chủ quản lý trên dc-1, hãy thực hiện các bước sau:
- Dừng Máy chủ quản lý trên dc-1:
apigee-service edge-management-server stop
- Tìm UUID của Máy chủ quản lý đã đăng ký trong dc-1:
curl -u <AdminEmailID>:'<AdminPassword>' \ -X GET “http://{MS_IP}:8080/v1/servers?pod=central®ion=dc-1&type=management-server”
- Huỷ đăng ký loại máy chủ:
curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers \ -d "type=management-server®ion=dc-1&pod=central&uuid=UUID&action=remove"
- Xoá máy chủ. Lưu ý: Nếu các thành phần khác cũng được cài đặt trên máy chủ này,
trước tiên, hãy huỷ đăng ký tất cả các mã đó rồi mới xoá mã nhận dạng duy nhất (UUID).
curl -u <AdminEmailID>:'<AdminPassword> -X DELETE http://{MS_IP}:8080/v1/servers/{UUID}
- Gỡ cài đặt thành phần Máy chủ quản lý trên dc-1:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server uninstall
Mở Giao thức truy cập thư mục hạng nhẹ (LDAP)
Phần này giải thích cách huỷ bỏ OpenLDAP trên dc-1.
Lưu ý: Nếu bạn có nhiều hơn hai trung tâm dữ liệu, hãy xem Thiết lập với nhiều trung tâm dữ liệu bên dưới.
Để huỷ bỏ OpenLDAP trên dc-1, hãy làm theo các bước sau:
- Sao lưu nút dc-1 OpenLDAP bằng cách làm theo các bước trong Cách sao lưu.
Huỷ sao chép dữ liệu giữa hai trung tâm dữ liệu, dc-1 và dc-2, bằng cách thực hiện các bước sau trong cả hai trung tâm dữ liệu.
- Kiểm tra trạng thái hiện tại:
ldapsearch -H ldap://{HOST}:{PORT} -LLL -x -b "cn=config" -D "cn=admin,cn=config" -w {credentials} -o ldif-wrap=no 'olcSyncRepl' | grep olcSyncrepl
Kết quả sẽ tương tự như kết quả sau:
olcSyncrepl: {0}rid=001 provider=ldap://{HOST}:{PORT}/ binddn="cn=manager,dc=apigee,dc=com" bindmethod=simple credentials={credentials} searchbase="dc=apigee,dc=com" attrs="*,+" type=refreshAndPersist retry="60 1 300 12 7200 +" timeout=1
- Tạo một tệp
break_repl.ldif
chứa các lệnh sau:dn: olcDatabase={2}bdb,cn=config changetype: modify delete: olcSyncRepl dn: olcDatabase={2}bdb,cn=config changetype: modify delete: olcMirrorMode
- Chạy lệnh
ldapmodify
:ldapmodify -x -w {credentials} -D "cn=admin,cn=config" -H "ldap://{HOST}:{PORT}/" -f path/to/file/break_repl.ldif
Kết quả sẽ tương tự như kết quả sau:
modifying entry "olcDatabase={2}bdb,cn=config" modifying entry "olcDatabase={2}bdb,cn=config"
- Kiểm tra trạng thái hiện tại:
Bạn có thể xác minh rằng dc-2 không còn sao chép sang dc-1 bằng cách tạo một mục trong dc-2 LDAP và đảm bảo URL đó không xuất hiện trong LDAP của dc-1.
Nếu muốn, bạn có thể làm theo các bước bên dưới để tạo người dùng chỉ đọc trong dc-2 Nút OpenLDAP, rồi kiểm tra xem người dùng có được sao chép hay không. Sau đó, người dùng này sẽ được đã bị xoá.
- Tạo tệp
readonly-user.ldif
trong dc-2 với những nội dung sau:dn: uid=readonly-user,ou=users,ou=global,dc=apigee,dc=com objectClass: organizationalPerson objectClass: person objectClass: inetOrgPerson objectClass: top cn: readonly-user sn: readonly-user userPassword: {testPassword}
- Thêm người dùng bằng lệnh "ldapadd" trong dc-2:
ldapadd -H ldap://{HOST}:{PORT} -w {credentials} -D "cn=manager,dc=apigee,dc=com" -f path/to/file/readonly-user.ldif
Kết quả sẽ tương tự như:
adding new entry "uid=readonly-user,ou=users,ou=global,dc=apigee,dc=com"
- Tìm kiếm người dùng trong dc-1 để đảm bảo người dùng đó không được sao chép. Nếu người dùng
không có trong dc-1, bạn sẽ chắc chắn rằng cả hai LDAP đều không còn được sao chép:
ldapsearch -H ldap://{HOST}:{PORT} -x -w {credentials} -D "cn=manager,dc=apigee,dc=com" -b uid=readonly-user,ou=users,ou=global,dc=apigee,dc=com -LLL
Kết quả sẽ tương tự như kết quả sau:
No such object (32) Matched DN: ou=users,ou=global,dc=apigee,dc=com
- Xoá người dùng chỉ có quyền đọc mà bạn đã thêm trước đó:
ldapdelete -v -H ldap://{HOST}:{PORT} -w {credentials} -D "cn=manager,dc=apigee,dc=com" "uid=readonly-user,ou=users,ou=global,dc=apigee,dc=com"
- Tạo tệp
- Dừng OpenLDAP trong dc-1:
/opt/apigee/apigee-service/bin/apigee-service apigee-openldap stop
- Gỡ cài đặt thành phần OpenLDAP trên dc-1:
/opt/apigee/apigee-service/bin/apigee-service apigee-openldap uninstall
Bộ định tuyến
Phần này giải thích cách tháo rời Bộ định tuyến. Xem Xoá máy chủ để biết thêm thông tin chi tiết về việc xoá Bộ định tuyến.
Các bước sau đây ngừng hoạt động Bộ định tuyến khỏi dc-1. Nếu có nhiều nút Bộ định tuyến được định cấu hình trong dc-1, hãy thực hiện các bước trong tất cả các nút Bộ định tuyến từng mục một
Lưu ý: Ở đây, giả định rằng cổng kiểm tra tình trạng của bộ định tuyến 15999 đã được định cấu hình trong tải của bạn và việc chặn cổng 15999 sẽ khiến bộ định tuyến không truy cập được. Bạn có thể cần quyền truy cập thư mục gốc chặn cổng.
Để ngừng hoạt động Bộ định tuyến, hãy làm theo các bước sau:
Tắt khả năng kết nối của bộ định tuyến bằng cách chặn cổng 15999, cổng kiểm tra tình trạng. Đảm bảo rằng lưu lượng truy cập thời gian chạy bị chặn trên trung tâm dữ liệu này:
iptables -A INPUT -i eth0 -p tcp --dport 15999 -j REJECT
Xác minh rằng bộ định tuyến có thể truy cập được:
curl -vvv -X GET http://{ROUTER_IP}:15999/v1/servers/self/reachable
Kết quả sẽ tương tự như kết quả sau:
About to connect() to 10.126.0.160 port 15999 (#0) Trying 10.126.0.160... Connection refused Failed connect to 10.126.0.160:15999; Connection refused Closing connection 0 curl: (7) Failed connect to 10.126.0.160:15999; Connection refused
- Lấy mã nhận dạng duy nhất (UUID) của Bộ định tuyến, như mô tả trong Nhận mã nhận dạng duy nhất (UUID).
- Dừng bộ định tuyến:
/opt/apigee/apigee-service/bin/apigee-service edge-router stop
- Liệt kê các nhóm cổng vào hiện có trong tổ chức bằng lệnh sau:
curl -u <AdminEmailID>:<AdminPassword> -X GET "http://{MS_IP}:8080/v1/organizations/{ORG}/pods"
Xem Giới thiệu về Nhóm.
- Huỷ đăng ký loại máy chủ:
curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers \ -d "type=router&region=dc-1&pod=gateway-1&uuid=UUID&action=remove"
- Xoá máy chủ:
curl -u <AdminEmailID>:'<AdminPassword>’ -X DELETE http://{MS_IP}:8080/v1/servers/UUID
- Gỡ cài đặt
edge-router
:/opt/apigee/apigee-service/bin/apigee-service edge-router uninstall
Xem Xoá máy chủ. - Xoá các quy tắc
iptables
để bật cổng bị chặn 15999:iptables -F
Trình xử lý tin nhắn
Phần này mô tả cách gỡ bỏ Trình xử lý thư khỏi dc-1. Xem Xoá máy chủ để biết thêm chi tiết về cách xoá Trình xử lý thư.
Vì chúng ta giả định rằng dc-1 có 12 nút cài đặt theo cụm, có hai nút Trình xử lý thông báo được định cấu hình trong dc-1. Thực hiện các lệnh sau trong cả hai nút.
- Lấy mã nhận dạng duy nhất (UUID) của Bộ xử lý thư, như mô tả trong Nhận mã nhận dạng duy nhất (UUID).
- Dừng Trình xử lý thư:
apigee-service edge-message-processor stop
- Huỷ đăng ký loại máy chủ:
curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers \ -d "type=message-processor&region=dc-1&pod=gateway-1&uuid=UUID&action=remove"/pre>
- Disassociate an environment from the Message Processor.
Note: You need to remove the bindings on each org/env that associates the Message Processor UUID.
curl -H "Content-Type:application/x-www-form-urlencoded" -u <AdminEmailID>:'
' \ -X POST http://{MS_IP}:8080/v1/organizations/{ORG}/environments/{ENV}/servers \ -d "action=remove&uuid=UUID" - Huỷ đăng ký loại máy chủ:
curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://MS_IP:8080/v1/servers -d "type=message-processor®ion=dc-1&pod=gateway-1&uuid=UUID&action=remove"
- Gỡ cài đặt Trình xử lý thông báo:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor uninstall
- Huỷ đăng ký máy chủ:
curl -u <AdminEmailID>:'<AdminPassword> -X DELETE http://{MS_IP}:8080/v1/servers/UUID
Máy chủ Qpid và Qpidd
Phần này giải thích cách ngừng hoạt động của Máy chủ Qpid (edge-qpid-server
) và Qpidd
(apigee-qpidd
).
Có hai nút Qpid được định cấu hình trong dc-1, vì vậy bạn phải thực hiện các bước sau đây cho cả hai nút
nút:
- Lấy mã nhận dạng duy nhất (UUID) cho Qpidd, như mô tả trong phần Lấy mã nhận dạng duy nhất (UUID).
- Dừng
edge-qpid-server
vàapigee-qpidd
:/opt/apigee/apigee-service/bin/apigee-service edge-qpid-server stop
/opt/apigee/apigee-service/bin/apigee-service apigee-qpidd stop
- Xem danh sách Analytics và nhóm người tiêu dùng:
curl -u <AdminEmailID>:'<AdminPassword>' -X GET http://{MS_IP}:8080/v1/analytics/groups/ax
- Xóa Qpid khỏi nhóm người tiêu dùng:
curl -u <AdminEmailID>:'<AdminPassword>' -H "Content-Type: application/json" -X DELETE \ "http://{MS_IP}:8080/v1/analytics/groups/ax/{ax_group}/consumer-groups/{consumer_group}/consumers/{QPID_UUID}"
- Xoá Qpid khỏi nhóm số liệu phân tích:
curl -v -u <AdminEmailID>:'<AdminPassword>' \ -X DELETE "http://{MS_IP}:8080/v1/analytics/groups/ax/{ax_group}/servers?uuid={QPID_UUID}&type=qpid-server"
- Huỷ đăng ký máy chủ Qpid từ quá trình cài đặt Edge:
curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers \ -d "type=qpid-server®ion=dc-1&pod=central&uuid={QPID_UUID}&action=remove"
- Xoá máy chủ Qpid khỏi quá trình cài đặt Edge:
curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://{MS_IP}:8080/v1/servers/UUID
- Khởi động lại tất cả các thành phần Edge-qpid-server trên tất cả các nút để đảm bảo nhận được thay đổi
theo các thành phần đó:
$ /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart $ /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server wait_for_ready
- Gỡ cài đặt Edge-qpid-server và apigee-qpidd:
$ /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server uninstall $ /opt/apigee/apigee-service/bin/apigee-service apigee-qpidd uninstall
Postgres và Postgresql
Trung tâm dữ liệu mà bạn đang gỡ bỏ có thể có trang chính Postgres hoặc chế độ chờ Postgres. Các phần sau đây giải thích cách huỷ bỏ phí hoa hồng:
Bậc thầy đang gỡ cài đặt Postgres
Lưu ý: Nếu bạn hạ cấp bậc thầy Postgres, hãy nhớ quảng bá bất kỳ các nút chờ hiện có làm bản chính mới của postgres. Trong khi QPID xếp hàng dữ liệu vùng đệm, nếu trang chính Postgres không hoạt động trong thời gian dài, bạn sẽ có nguy cơ mất dữ liệu phân tích.
Cách gỡ bỏ máy chủ Postgres:
- Sao lưu nút chính dc-1 Postgres bằng cách làm theo hướng dẫn trong các đường liên kết sau:
- Lấy các mã nhận dạng duy nhất (UUID) của máy chủ Postgres như mô tả trong Nhận mã nhận dạng duy nhất (UUID).
- Trên dc-1, hãy dừng
edge-postgres-server
vàapigee-postgresql
trên trang cái hiện tại:/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
- Trên nút chờ trên dc-2, nhập lệnh sau để đặt nút này làm nút chính:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql promote-standby-to-master <IP of OLD Progress master>
Lưu ý: Nếu có nhiều nút Postgres ở chế độ chờ, thì bạn phải thêm các mục nhập của máy chủ lưu trữ trên bản chính mới và cập nhật cài đặt sao chép cho tất cả các nút chế độ chờ postgres hiện có.
Để thêm mục nhập máy chủ lưu trữ vào trang cái Postgres mới: hãy làm theo các bước trong phần thích hợp bên dưới:
Nếu chỉ còn một nút dự phòng
Ví dụ: giả sử trước khi ngừng hoạt động, có 3 nút Postgres được định cấu hình. Bạn đã ngừng hoạt động máy chủ hiện tại và thăng cấp một trong những trạm chờ còn lại nút để điều khiển. Định cấu hình nút chờ còn lại theo các bước sau:
- Trên trang cái mới, chỉnh sửa cấu hình
tệp cần đặt:
PG_MASTER=IP_or_DNS_of_new_PG_MASTER PG_STANDBY=IP_or_DNS_of_PG_STANDBY
- Bật tính năng sao chép trên trang cái mới:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-master -f configFIle
Nếu còn nhiều nút chờ
- Thêm cấu hình sau trong
/opt/apigee/customer/application/postgresql.properties
:conf_pg_hba_replication.connection=host replication apigee standby_1_ip/32 trust \n host replication apigee standby_2_ip/32 trust
- Đảm bảo rằng tệp /opt/apigee/customer/application/postgresql.properties thuộc sở hữu của
người dùng apigee:
chown apigee:apigee /opt/apigee/customer/application/postgresql.properties
- Khởi động lại
apigee-postgresql
:apigee-service apigee-postgresql restart
- Sửa đổi tệp cấu hình
/opt/silent.conf
rồi cập nhật trườngPG_MASTER
bằng địa chỉ IP của trang cái Postgres mới. - Xoá mọi dữ liệu Postgres cũ bằng lệnh sau:
rm -rf /opt/apigee/data/apigee-postgresql/
- Thiết lập tính năng sao chép trên nút chế độ chờ:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile
- Xác minh rằng quảng cáo chính Postgres được thiết lập chính xác bằng cách nhập lệnh sau trong dc-2:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master
- Xoá và thêm máy chủ Postgresql khỏi nhóm Analytics và nhóm người tiêu dùng.
- Xoá máy chủ Postgres cũ khỏi nhóm Analytics bằng cách làm theo hướng dẫn trong Xoá máy chủ Postgres khỏi nhóm số liệu phân tích.
- Thêm máy chủ postgres mới vào nhóm Analytics bằng cách làm theo hướng dẫn trong Thêm một máy chủ Postgres hiện có vào một nhóm số liệu phân tích.
- Huỷ đăng ký máy chủ postgres cũ khỏi dc-1:
curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers \ -d "type=postgres-server®ion=dc-1&pod=analytics&uuid=UUID&action=remove"<
- Xóa máy chủ postgres cũ khỏi dc-1:
curl -u >AdminEmailID>:'>AdminPassword>' -X DELETE http://{MS_IP}:8080/v1/servers/UUID
- Bản chính Postgres cũ hiện đã an toàn để ngừng hoạt động. Gỡ cài đặt
edge-postgres-server
vàapigee-postgresql
:/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server uninstall /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql uninstall
Cách cập nhật chế độ cài đặt sao chép trên nút chờ:
Đang ngừng hoạt động ở chế độ chờ Postgres
Lưu ý: Tài liệu về 12 nút cài đặt theo cụm hiển thị nút dc-1 postgresql là nút chính, nhưng để thuận tiện, trong phần này, người ta giả định rằng nút dc-1 postgresql là chế độ chờ và nút dc-2 postgresql là bản chính.
Để gỡ bỏ chế độ chờ Postgres, hãy làm theo các bước sau:
- Lấy mã nhận dạng duy nhất (UUID) của máy chủ Postgres bằng cách làm theo hướng dẫn trong Nhận mã nhận dạng duy nhất (UUID).
- Dừng
apigee-postgresql
trên nút chế độ chờ hiện tại trong dc-1:/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
- Xoá và thêm máy chủ Postgresql khỏi nhóm Analytics và nhóm người tiêu dùng.
- Xoá máy chủ Postgres cũ khỏi nhóm Analytics bằng cách làm theo hướng dẫn trong Xoá máy chủ Postgres khỏi nhóm số liệu phân tích.
- Thêm máy chủ postgres mới vào nhóm Analytics bằng cách làm theo hướng dẫn trong Thêm một máy chủ Postgres hiện có vào một nhóm số liệu phân tích.
- Huỷ đăng ký máy chủ postgres cũ khỏi dc-1:
curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers \ -d "type=postgres-server®ion=dc-1&pod=analytics&uuid=UUID&action=remove"<
- Xóa máy chủ postgres cũ khỏi dc-1:
curl -u >AdminEmailID>:'>AdminPassword>' -X DELETE http://{MS_IP}:8080/v1/servers/UUID
- Bản chính Postgres cũ hiện đã an toàn để ngừng hoạt động. Gỡ cài đặt
edge-postgres-server
vàapigee-postgresql
:/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server uninstall /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql uninstall
Vườn thú và Cassandra
Phần này giải thích cách huỷ kích hoạt máy chủ ZooKeeper và Cassandra trong thiết lập hai trung tâm dữ liệu.
Nếu bạn có nhiều hơn hai trung tâm dữ liệu, hãy nhớ xóa mọi thông tin tham chiếu đến nút bị ngừng hoạt động (dc-1 trong trường hợp này) khỏi mọi tệp cấu hình im lặng trên tất cả các trung tâm dữ liệu còn lại. Đối với các nút Cassandra sẽ ngừng hoạt động, hãy xoá các máy chủ đó khỏi
CASS_HOSTS
. Các nút Cassandra còn lại phải giữ nguyên theo thứ tự ban đầu làCASS_HOSTS
.Lưu ý trên ZooKeeper: Bạn phải duy trì đại biểu của các nút cử tri trong khi sửa đổi Thuộc tính
ZK_HOST
trong tệp cấu hình, để đảm bảo rằng tổ hợp ZooKeeper vẫn hoạt động. Bạn phải có số lẻ nút cử tri trong cấu hình của bạn. Để biết thêm thông tin, hãy xem Bảo trì ZooKeeper của Apache nhiệm vụ.Để gỡ bỏ máy chủ ZooKeeper và Cassandra, hãy làm như sau:
- Sao lưu các nút Cassandra và ZooKeeper dc-1 bằng cách làm theo hướng dẫn trong các đường liên kết sau:
Liệt kê các UUID của ZooKeeper và Cassandra máy chủ ở trung tâm dữ liệu nơi có các nút Cassandra ngừng hoạt động.
apigee-adminapi.sh servers list -r dc-1 -p central -t application-datastore --admin <AdminEmailID> --pwd '<AdminPassword>' --host localhost
- Huỷ đăng ký loại máy chủ:
curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://MS_IP:8080/v1/servers -d "type=cache-datastore&type=user-settings-datastore&type=scheduler-datastore&type=audit-datastore&type=apimodel-datastore&type=application-datastore&type=edgenotification-datastore&type=identityzone-datastore&type=user-settings-datastore&type=auth-datastore®ion=dc-1&pod=central&uuid=UUID&action=remove"
- Huỷ đăng ký máy chủ:
curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://MS_IP:8080/v1/servers/UUID
- Cập nhật tệp cấu hình chứa IP của các nút đã ngừng hoạt động bị xoá khỏi
ZK_HOSTS
vàCASS_HOSTS
.Ví dụ: Giả sử bạn có các IP
$IP1 $IP2 $IP3
trong dc-1 và$IP4 $IP5 $IP6
trong dc-2 và bạn đang ngừng chạy dc-1. Sau đó, bạn nên xoá các IP$IP1 $IP2 $IP3
khỏi tệp cấu hình.- Các mục nhập tệp cấu hình hiện có:
ZK_HOSTS="$IP1 $IP2 $IP3 $IP4 $IP5 $IP6" CASS_HOSTS="$IP1:1,1 $IP2:1,1 $IP3:1,1, $IP4:2,1 $IP5:2,1 $IP6:2,1”
- Các mục nhập tệp cấu hình mới:
ZK_HOSTS="$IP4 $IP5 $IP6" CASS_HOSTS="$IP4:2,1 $IP5:2,1 $IP6:2,1"
- Các mục nhập tệp cấu hình hiện có:
- Cập nhật tệp cấu hình im lặng (được sửa đổi ở bước e) bằng IP của các tệp đã bị xóa
các nút ngừng hoạt động và chạy quy trình Quản lý
hồ sơ máy chủ trên tất cả các nút lưu trữ Máy chủ quản lý:
/opt/apigee/apigee-setup/bin/setup.sh -p ms -f updated_config_file
- Cập nhật tệp cấu hình bằng IP của các nút đã ngừng hoạt động đã bị xoá và chạy cấu hình MP/RMP
trên tất cả các nút Bộ định tuyến và Bộ xử lý thư:
- Nếu Bộ định tuyến cạnh và Trình xử lý thư được định cấu hình trên cùng một nút, hãy nhập:
/opt/apigee/apigee-setup/bin/setup.sh -p rmp -f updated_config_file
Nếu Bộ định tuyến cạnh và Trình xử lý thư được định cấu hình trên các nút riêng biệt, hãy nhập thông tin sau:
Đối với Bộ định tuyến:
/opt/apigee/apigee-setup/bin/setup.sh -p r -f updated_config_file
Đối với Bộ xử lý thư:
/opt/apigee/apigee-setup/bin/setup.sh -p mp -f updated_config_file
- Nếu Bộ định tuyến cạnh và Trình xử lý thư được định cấu hình trên cùng một nút, hãy nhập:
- Định cấu hình lại tất cả các nút Qpid, trong đó IP của các nút đã ngừng hoạt động sẽ bị xoá khỏi Tệp phản hồi:
/opt/apigee/apigee-setup/bin/setup.sh -p qs -f updated_config_file
- Định cấu hình lại tất cả các nút Postgres, trong đó IP của các nút đã ngừng hoạt động sẽ bị xoá khỏi Tệp phản hồi:
/opt/apigee/apigee-setup/bin/setup.sh -p ps -f updated_config_file
- Thay đổi không gian phím
system_auth
. Nếu bạn đã bật tính năng xác thực Cassandra trên Nút Cassandra, hãy cập nhật hệ số sao chép của không gian phímsystem_auth
bằng cách chạy lệnh sau:ALTER KEYSPACE system_auth WITH replication = {'class': 'NetworkTopologyStrategy', 'dc-2': '3'};
Lệnh này thiết lập hệ số nhân bản thành
'3'
, cho biết 3 nút Cassandra trong cụm. Sửa đổi giá trị này nếu cần.Sau khi hoàn tất bước này, cấu trúc liên kết Cassandra không có
dc-1
trong bất kỳ không gian khoá nào. - Tháo từng nút Cassandra trên dc-1.
Để gỡ bỏ các nút Cassandra, hãy nhập lệnh sau:
/opt/apigee/apigee-cassandra/bin/nodetool -h cassIP -u cassandra -pw '<AdminPassword>' decommission
- Kiểm tra kết nối của các nút Cassandra từ dc-1 bằng một trong các lệnh sau:
/opt/apigee/apigee-cassandra/bin/cqlsh cassIP 9042 -u cassandra -p '<AdminPassword>'
Hoặc lệnh xác minh phụ sẽ chạy trên nút đã ngừng hoạt động:
/opt/apigee/apigee-cassandra/bin/nodetool netstats
Lệnh trên sẽ trả về:
Mode: DECOMMISSIONED
- Chạy hồ sơ DS cho tất cả các nút Cassandra và ZooKeeper trong dc-2:
/opt/apigee/apigee-setup/bin/setup.sh -p ds -f updated_config_file
- Dừng
apigee-cassandra
vàapigee-zookeeper
trong dc-1:apigee-service apigee-cassandra stop
apigee-service apigee-zookeeper stop
- Gỡ cài đặt
apigee-cassandra
vàapigee-zookeeper
trong dc-1:apigee-service apigee-cassandra uninstall
apigee-service apigee-zookeeper uninstall
Xoá các liên kết khỏi dc-1
Để xoá các liên kết khỏi dc-1, hãy làm theo các bước sau:
- Xoá các liên kết khỏi dc-1.
- Liệt kê tất cả các nhóm hiện có trong tổ chức:
curl -v -u <AdminEmailID>:<AdminPassword> -X GET "http://MS_IP:8080/v1/o/ORG/pods"
- Để kiểm tra xem tất cả các liên kết đã bị xóa hay chưa, hãy lấy phương thức
Mã nhận dạng duy nhất (UUID) của máy chủ liên kết với các nhóm:
curl -v -u <AdminEmailID>:<AdminPassword> \ -X GET "http://MS_IP:8080/v1/regions/dc-1/pods/gateway-1/servers"
Nếu lệnh này không trả về bất kỳ mã nhận dạng duy nhất (UUID) nào, thì các bước trước đó đã xoá tất cả các liên kết, và bạn có thể bỏ qua bước tiếp theo. Nếu không, hãy thực hiện bước tiếp theo.
- Xoá tất cả các liên kết máy chủ cho các mã nhận dạng duy nhất (UUID) thu được ở bước trước:
curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://MS_IP:8080/v1/servers/UUID
- Huỷ liên kết tổ chức khỏi nhóm:
curl -v -u <AdminEmailID>:<AdminPassword> "http://MS_IP:8080/v1/o/ORG/pods" -d "action=remove®ion=dc-1&pod=gateway-1" -H "Content-Type: application/x-www-form-urlencoded" -X POST
- Liệt kê tất cả các nhóm hiện có trong tổ chức:
- Xoá các nhóm:
curl -v -u <AdminEmailID>:<AdminPassword> "http://MS_IP:8080/v1/regions/dc-1/pods/gateway-1" -X DELETE
- Xoá khu vực.
curl -v -u <AdminEmailID>:<AdminPassword> "http://MS_IP:8080/v1/regions/dc-1" -X DELETE
Lưu ý: Nếu bạn bỏ lỡ một trong các bước xoá máy chủ, thì bước trên sẽ trả về một thông báo lỗi máy chủ cụ thể trong nhóm vẫn tồn tại. Vì vậy, hãy xoá chúng bằng cách làm theo các bước khắc phục sự cố bên dưới, trong khi tuỳ chỉnh các loại trong lệnh
curl
.Lúc này, bạn đã hoàn tất việc gỡ bỏ dc-1.
Phụ lục
Khắc phục sự cố
Nếu sau khi bạn thực hiện các bước trước đó mà vẫn còn máy chủ trong một số nhóm, hãy làm theo các bước sau để huỷ đăng ký và xoá máy chủ. Lưu ý: Hãy thay đổi loại và nhóm nếu cần.
- Lấy mã nhận dạng duy nhất (UUID) bằng lệnh sau:
apigee-adminapi.sh servers list -r dc-1 -p POD -t --admin <AdminEmailID> --pwd '<AdminPassword>’ --host localhost
- Huỷ đăng ký loại máy chủ:
curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://MP_IP:8080/v1/servers -d "type=TYPE=REGION=dc-1&pod=POD&uuid=UUID&action=remove"
- Xoá từng máy chủ:
curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://MP_IP:8080/v1/servers/UUID
Xác thực
Bạn có thể xác thực quá trình ngừng hoạt động bằng các lệnh sau.
Máy chủ quản lý
Chạy các lệnh sau từ Máy chủ quản lý trên tất cả khu vực.
curl -v -u <AdminEmailID>:'<AdminPassword>' http://MS_IP:8080/v1/servers?pod=central®ion=dc-1 curl -v -u <AdminEmailID>:'<AdminPassword>' http://MS_IP:8080/v1/servers?pod=gateway®ion=dc-1 curl -v -u <AdminEmailID>:'<AdminPassword>' http://MS_IP:8080/v1/servers?pod=analytics®ion=dc-1
Chạy lệnh sau trên tất cả các thành phần để kiểm tra các yêu cầu về cổng cho tất cả chế độ quản lý cổng.
curl -v http://MS_IP:8080/v1/servers/self
Kiểm tra nhóm số liệu phân tích.
curl -v -u <AdminEmailID>:'<AdminPassword>' "http://MS_IP:8080}/v1/o/ORG/e/ENV/provisioning/axstatus" curl -v -u <AdminEmailID>:'<AdminPassword>' http://MS_IP:8080/v1/analytics/groups/ax
Nút Cassandra/ZooKeeper
Trên tất cả các nút Cassandra, hãy nhập:
/opt/apigee/apigee-cassandra/bin/nodetool -h <host> statusthrift
Thao tác này sẽ trả về trạng thái
running
hoặcnot running
cho cụ thể đó nút.Trên một nút, hãy nhập:
/opt/apigee/apigee-cassandra/bin/nodetool -h <host> ring
/opt/apigee/apigee-cassandra/bin/nodetool -h <host> status
Các lệnh trên sẽ trả về thông tin của trung tâm dữ liệu đang hoạt động.
Trên nút ZooKeeper, trước tiên, hãy nhập:
echo ruok | nc <host> 2181
Lệnh này sẽ trả về
imok
.Sau đó nhập:
echo stat | nc <host> 2181 | grep Mode
Giá trị của
Mode
mà lệnh trên trả về sẽ là một trong những giá trị sau:observer
,leader
hoặcfollower
.Trong một nút ZooKeeper:
/opt/apigee/apigee-zookeeper/contrib/zk-tree.sh >> /tmp/zk-tree.out.txt
Trên nút chính Postgres, chạy:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master
Xác thực rằng phản hồi cho biết nút này là nút chính.
Trên nút chế độ chờ:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-standby
Xác thực rằng phản hồi cho biết nút là chế độ chờ.
Đăng nhập vào cơ sở dữ liệu PostgreSQL bằng lệnh
psql -h localhost -d apigee -U postgres
Khi được nhắc, hãy nhập 'postgres' mật khẩu của người dùng là
'postgres'
. Chọnmax(client_received_start_timestamp)
từ số liệu phân tích.”$org.$env.fact” limit 1
;Nhật ký
Hãy kiểm tra nhật ký trên các thành phần để đảm bảo không có lỗi.
- Trên trang cái mới, chỉnh sửa cấu hình
tệp cần đặt: