Việc di chuyển các thành phần từ máy này sang máy khác có thể gây ra cấu hình không khớp nếu bạn không đồng bộ hoá địa chỉ IP trong các tệp cấu hình thành phần.
Phần này mô tả cách chẩn đoán và khắc phục trường hợp cấu hình không khớp.
Địa chỉ IP so với tên máy chủ
Bạn nên sử dụng địa chỉ IP thay vì tên máy chủ lưu trữ trong các tệp cấu hình thành phần của mình.
Mặc dù một số tệp cấu hình thành phần cho phép bạn sử dụng tên máy chủ thay vì địa chỉ IP, nhưng việc sử dụng tên máy chủ có thể khiến việc khắc phục sự cố trở nên phức tạp. Ví dụ: tên máy chủ lưu trữ có thể là nguồn gốc gây ra các vấn đề liên quan đến khả năng kết nối với máy chủ DNS, lỗi tra cứu và đồng bộ hoá.
Do đó, Apigee khuyên bạn nên sử dụng địa chỉ IP cho tất cả các cấu hình thành phần. Trong một số trường hợp, chẳng hạn như với Cassandra, bạn phải sử dụng địa chỉ IP và không được dùng tên máy chủ. Hầu hết các ví dụ trong tài liệu này đều sử dụng địa chỉ IP để định cấu hình thành phần.
Đối với tên máy chủ và địa chỉ IP, hãy cân nhắc ảnh hưởng của các tình huống sau đây khi di chuyển máy chủ Apigee:
Trường hợp | Tác động đến việc di chuyển máy chủ |
---|---|
Thay đổi địa chỉ IP | Cập nhật mọi tệp liên quan có tham chiếu đến địa chỉ IP ban đầu |
Thay đổi tên máy chủ mà không thay đổi địa chỉ IP | Không ảnh hưởng gì |
Thay đổi tên máy chủ kèm theo thay đổi địa chỉ IP | Giống như việc thay đổi địa chỉ IP |
Thay đổi địa chỉ IP của nút Cassandra
Để thay đổi địa chỉ IP của nút Cassandra, hãy thực hiện các bước sau:
Đối với cấu hình có một nút Cassandra
- Chỉnh sửa
/opt/apigee/customer/application/cassandra.properties
trên hệ thống đang được sửa đổi. Hãy tạo tệp nếu chưa có. - Thay đổi các thông số sau:
- Đặt các tham số
conf_cassandra_seeds
vàconf_cassandra_listen_address
để chỉ định địa chỉ IP mới của hệ thống. - Thay đổi
conf_cassandra_rpc_address
để sử dụng địa chỉ IP mới hoặc 0.0.0.0 (cho phép Cassandra Thrift nghe trên tất cả các giao diện).
- Đặt các tham số
- Mở
/opt/apigee/apigee-cassandra/conf/cassandra-topology.properties
trong một trình chỉnh sửa. Bạn sẽ thấy địa chỉ IP cũ và chế độ cài đặt mặc định trong biểu mẫu:192.168.56.101=dc-1:ra-1 default=dc-1:ra-1
Hãy lưu thông tin đó.
- Chỉnh sửa
/opt/apigee/customer/application/cassandra.properties
để thay đổi địa chỉ IP cũ được chỉ định thành địa chỉ IP mới:conf_cassandra-topology_topology=192.168.56.103=dc-1:ra-1\ndefault=dc-1:ra-1\n
Đảm bảo rằng bạn chèn "\n" sau địa chỉ IP và chỉ định cùng các chế độ cài đặt mặc định như bạn tìm thấy ở trên trong Bước 3.
- Khởi động lại Cassandra:
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
- Nếu cần, bạn cũng nên sửa cả ZooKeeper (xem bên dưới), nếu không, hãy khởi động lại mọi thành phần của nền tảng Apigee bắt đầu bằng Máy chủ quản lý.
Đối với cấu hình có nhiều nút Cassandra (nhẫn)
- Nếu nút đang được thay đổi là nút gốc, hãy chỉnh sửa tệp
/opt/apigee/customer/application/cassandra.properties
trên từng hệ thống trong vòng và thay đổi tham sốconf_cassandra_seeds
để bao gồm IP mới của hệ thống đã sửa đổi. Nếu tệp cassandra.properties chưa có, hãy tạo tệp đó. - Chỉnh sửa
/opt/apigee/customer/application/cassandra.properties
trên hệ thống đang được sửa đổi và thay đổi các tham số sau:- Đặt
conf_cassandra_listen_address
để sử dụng địa chỉ IP mới. - Đặt
conf_cassandra_rpc_address
để sử dụng địa chỉ IP mới hoặc "0.0.0.0" (cho phép Cassandra Thrift nghe trên tất cả các giao diện).
- Đặt
- Mở
/opt/apigee/apigee-cassandra/conf/cassandra-topology.properties
trong một trình chỉnh sửa. Bạn sẽ thấy tất cả địa chỉ IP của Cassandra và chế độ cài đặt mặc định có trong biểu mẫu:192.168.56.101=dc-1:ra-1 192.168.56.102=dc-1:ra-1 192.168.56.103=dc-1:ra-1 default=dc-1:ra-1
Hãy lưu thông tin đó.
- Chỉnh sửa
/opt/apigee/customer/application/cassandra.properties
để thay đổi địa chỉ IP cũ được chỉ định thành địa chỉ IP mới:conf_cassandra-topology_topology=192.168.56.101=dc-1:ra-1\n192.168.56.102=dc-1:ra-1\n192.168.56.104=dc-1:ra-1\ndefault=dc-1:ra-1\n
Đảm bảo bạn chèn "\n" sau mỗi địa chỉ IP và sử dụng cùng chế độ cài đặt mặc định như đã ghi ở trên trong Bước 3.
- Khởi động lại Cassandra trên hệ thống đã sửa đổi. Nếu hệ thống được sửa đổi là nút gốc, hãy khởi động lại từng hệ thống có dùng nút gốc đã sửa đổi.
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
- Chạy lệnh
nodetool ring
trên nút đã sửa đổi để đảm bảo rằng vòng lặp đã hoàn tất. Bạn có thể tìm thấy tiện ích này tại/opt/apigee/apigee-cassandra/bin
.nodetool [-u username -pw password] -h localhost ring
Bạn chỉ cần truyền tên người dùng và mật khẩu nếu đã bật phương thức xác thực JMX cho Cassandra.
- Chạy
nodetool repair
trên nút đã sửa đổi. Xin lưu ý rằng quá trình này có thể mất chút thời gian. Vì vậy, bạn không nên làm việc này trong những giờ có lưu lượng truy cập API cao nhất.nodetool [-u username -pw password] -h localhost repair -pr
- Nếu cần, hãy sửa chữa ZooKeeper (xem bên dưới), sau đó khởi động lại mọi thành phần của nền tảng Apigee, bắt đầu bằng Máy chủ quản lý.
Cập nhật gói đăng ký kho dữ liệu
- Tìm mã nhận dạng duy nhất (UUID) của các lượt đăng ký kho dữ liệu chỉ định địa chỉ IP cũ bằng cách dùng các lệnh bên dưới. Ghi lại các thông số "type" và "UUID":
-
curl -u ADMINEMAIL:PW "http://$MSIP:$port/v1/servers?pod=central®ion=DC" | egrep -i '[type|internalip|uuid|region]'
-
curl -u ADMINEMAIL:PW "http://$MSIP:$port/v1/servers?pod=gateway®ion=DC" | egrep -i '[type|internalip|uuid|region]'
-
curl -u ADMINEMAIL:PW "http://$MSIP:$port/v1/servers?pod=analytics®ion=DC" | egrep -i '[type|internalip|uuid|region]'
Trong đó DC là tên trung tâm dữ liệu. Trong một lần cài đặt trung tâm dữ liệu, giá trị thường là "dc-1".
-
- Đăng ký địa chỉ IP mới bằng một trong các lệnh bên dưới. Lệnh cần dùng sẽ phụ thuộc vào loại nút được thay đổi.
- Đối với type="application-datastore":
curl -u ADMINEMAIL:PW "http://MSIP:port/v1/servers -d \ "Type=application-datastore&Type=audit-datastore&InternalIP=NEWIP®ion=REGION&pod=central" \ -H 'content-type: application/x-www-form-urlencoded' -X POST
- Đối với type="km-datastore":
curl -u ADMINEMAIL:PW "http://MSIP:port/v1/servers -d \ "Type=kms-datastore&Type=dc-datastore&Type=keyvaluemap-datastore&Type=counter-datastore&Type=cache-datastore \ &InternalIP=NEWIP®ion=REGION&pod=GATEWAY_POD" -H 'content-type: \ application/x-www-form-urlencoded' -X POST
- Đối với type="reportcrud-datastore":
curl -u ADMINEMAIL:PW "http://MSIP:port/v1/servers" -d \ "Type=reportcrud-datastore&InternalIP=NEW_IP®ion=REGION&pod=analytics" \ -H 'content-type: application/x-www-form-urlencoded' -X POST
- Đối với type="application-datastore":
- Xoá các lượt đăng ký cũ cho mã nhận dạng duy nhất (UUID) của hệ thống mà địa chỉ IP đã thay đổi. Đối với từng vấn đề về mã nhận dạng duy nhất (UUID) sau đây:
curl -u ADMINEMAIL:PW "http://MSIP:port/v1/servers/OLD_UUID" -X DELETE
Thay đổi địa chỉ IP của nút ZooKeeper
Hãy làm theo các bước bên dưới để thay đổi địa chỉ IP của nút ZooKeeper:
Thay đổi Địa chỉ IP và khởi động lại quần thể ZooKeeper (chỉ dành cho các cấu hình tập hợp nhiều nút)
- Mở
/opt/apigee/apigee-zookeeper/conf/zoo.cfg
trong trình chỉnh sửa. Bạn sẽ thấy tất cả địa chỉ IP của ZooKeeper và chế độ cài đặt mặc định có trong biểu mẫu:server.1=192.168.56.101:2888:3888 server.2=192.168.56.102:2888:3888 server.3=192.168.56.103:2888:3888
Hãy lưu thông tin đó.
- Trên mỗi nút ZooKeeper, hãy chỉnh sửa tệp
/opt/apigee/customer/application/zookeeper.properties
để đặt thuộc tínhconf_zoo_quorum
thành các địa chỉ IP chính xác. Tệp này chưa có sẵn, hãy tạo tệp đó.conf_zoo_quorum=server.1=192.168.56.101:2888:3888\nserver.2=192.168.56.102:2888:3888\nserver.3=192.168.56.104:2888:3888\n
Đảm bảo rằng bạn chèn "\n" sau mỗi địa chỉ IP và các mục nhập theo cùng một thứ tự trên mỗi nút.
- Tìm trưởng nhóm của ZooKeeper bằng cách sử dụng lệnh sau (thay thế node bằng địa chỉ IP của máy ZooKeeper):
echo srvr | nc node 2181
Dòng Chế độ trong dữ liệu đầu ra sẽ có nội dung là "leader".
- Khởi động lại một ZooKeeper sau lệnh khác bắt đầu bằng trưởng nhóm và kết thúc bằng nút mà địa chỉ IP đã thay đổi. Nếu nhiều nút của người quản lý vườn thú thay đổi địa chỉ IP, thì có thể bạn cần phải khởi động lại tất cả các nút.
/opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper restart
- Sử dụng lệnh
echo
được mô tả ở trên để xác minh từng nút ZooKeeper.
Thông báo cho các nút Apigee về cấu hình đã thay đổi
- Trên mỗi nút Bộ định tuyến, hãy chỉnh sửa tệp
/opt/apigee/customer/application/router.properties
như sau. Hãy tạo tệp nếu chưa có.- Thay đổi tham số
conf_zookeeper_connection.string
để đưa vào địa chỉ IP mới - Thay đổi tham số
conf_zookeeper_zk1.host
để đưa vào địa chỉ IP mới
- Thay đổi tham số
- Trên mọi nút Bộ xử lý thông báo, hãy chỉnh sửa tệp
/opt/apigee/customer/application/message-processor.properties
như sau. Hãy tạo tệp nếu chưa có.- Thay đổi tham số
conf_zookeeper_connection.string
để đưa vào địa chỉ IP mới - Thay đổi tham số
conf_zookeeper_zk1.host
để đưa vào địa chỉ IP mới
- Thay đổi tham số
- Trên nút Máy chủ quản lý, hãy chỉnh sửa tệp
/opt/apigee/customer/application/management-server.properties
như sau. Hãy tạo tệp nếu chưa có.- Thay đổi tham số
conf_zookeeper_connection.string
để đưa vào địa chỉ IP mới - Thay đổi tham số
conf_zookeeper_zk1.host
để đưa vào địa chỉ IP mới
- Thay đổi tham số
- Khởi động lại tất cả thành phần của nền tảng Apigee bằng cách chạy lệnh sau trên mỗi nút:
/opt/apigee/apigee-service/bin/apigee-all restart
Thay đổi địa chỉ IP của máy chủ LDAP (OpenLDAP)
Để thay đổi địa chỉ IP của nút OpenLDAP, hãy làm như sau:
- Trên nút Máy chủ quản lý, hãy chỉnh sửa tệp
/opt/apigee/customer/application/management-server.properties
. Hãy tạo tệp nếu chưa có. - Trong tệp
management-server.properties
, hãy đặt tham sốconf_security_ldap.server.host
thành địa chỉ IP mới. - Khởi động lại máy chủ quản lý:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
Thay đổi địa chỉ IP của các loại nút Apigee khác
Cách thay đổi địa chỉ IP của bất kỳ loại nút nào trong số này (Bộ định tuyến, Bộ xử lý thông báo, Máy chủ Postgres (không phải postgresql) và Máy chủ Qpid (không qpidd):
- Sử dụng lệnh
curl
sau để đăng ký địa chỉ IP nội bộ và bên ngoài mới:curl -u ADMINEMAIL:PW -X PUT \ http://MSIP:8080/v1/servers/uuid -d ExternalIP=ip
curl -u ADMINEMAIL:PW -X PUT \ http://$MSIP:8080/v1/servers/uuid -d InternalIP=ip
Trong đó uuid là mã nhận dạng duy nhất (UUID) của nút.
Để biết thông tin về cách lấy UUID của một thành phần, hãy xem phần Lấy UUID.