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 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 lỗi cấu hình không khớp.
Địa chỉ IP và tên máy chủ lưu trữ
Bạn nên sử dụng địa chỉ IP thay vì tên máy chủ lưu trữ trong tệp cấu hình thành phần.
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ủ lưu trữ so với địa chỉ IP, 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ủ có thể là nguồn gây ra các vấn đề liên quan đến kết nối máy chủ DNS, lỗi tra cứu và đồng bộ hoá.
Do đó, Apigee đặc biệt khuyến khích bạn sử dụng địa chỉ IP cho tất cả các 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 sử dụng tên máy chủ lưu trữ. Hầu hết các ví dụ trong tài liệu đều sử dụng địa chỉ IP cho cấu hình thành phần.
Đối với tên máy chủ lưu trữ và địa chỉ IP, hãy cân nhắc hệ quả của các trường hợp sau khi di chuyển máy chủ Apigee:
Trường hợp | Tác động đến máy chủ di chuyển |
---|---|
Thay đổi về địa chỉ IP | Cập nhật tất cả các tệp liên quan 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ủ cùng với thay đổi về địa chỉ IP | Giống như thay đổi về địa chỉ IP |
Thay đổi địa chỉ IP của Nút Cassandra
Để thay đổi địa chỉ IP của một nút Cassandra, hãy thực hiện các bước sau:
Để các cấu hình bằng một nút Cassandra duy nhất
- Chỉnh sửa
/opt/apigee/customer/application/cassandra.properties
trên hệ thống đang được sửa đổi. Nếu tệp không tồn tại, hãy tạo tệp đó. - Thay đổi các thông số sau:
- Đặt
conf_cassandra_seeds
vàconf_cassandra_listen_address
các tham số để 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ả giao diện).
- Đặt
- Mở ứng dụng
/opt/apigee/apigee-cassandra/conf/cassandra-topology.properties
trong 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
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ài đặt mặc định tương tự như mà 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, hãy 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ý.
Để cấu hình có nhiều nút Cassandra (vòng)
- Nếu nút đang được thay đổi là một nút gốc, hãy chỉnh sửa
/opt/apigee/customer/application/cassandra.properties
trên mỗi hệ thống trong vòng và thay đổi tham sốconf_cassandra_seeds
để đưa vào IP mới của hệ thống đã sửa đổi. Nếu tệp cassandra.properties không tồn tại, hãy tạo nó. - 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ả giao diện).
- Đặt
- Mở ứng dụng
/opt/apigee/apigee-cassandra/conf/cassandra-topology.properties
trong trình chỉnh sửa. Bạn sẽ thấy tất cả địa chỉ IP và chế độ cài đặt mặc định của Cassandra 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
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 rằng bạn chèn "\n" sau mỗi địa chỉ IP, đồng thời sử dụng cùng chế độ cài đặt mặc định như bạn được ghi lại ở 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à một nút gốc,
khởi động lại từng hệ thống đã sử 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 chuông này được đã 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 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.
- Chạy
nodetool repair
trên nút đã sửa đổi. Xin lưu ý rằng quy trình này có thể mất chút thời gian nên bạn nên việc này không được thực hiện trong các giờ có lưu lượng truy cập API cao điểm.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 thông tin đăng ký kho dữ liệu
- Tìm các 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 sử dụng
dưới đây. Ghi lại "loại" và "UUID" thông số:
-
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ượt cài đặt trung tâm dữ liệu, giá trị này 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 thiết sẽ
phụ thuộc vào loại nút bị 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á thông tin đăng ký cũ cho UUID của hệ thống có đị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 một nút trong ZooKeeper:
Thay đổi Địa chỉ IP và khởi động lại nhóm ZooKeeper (chỉ dành cho cấu hình nhóm 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 và chế độ cài đặt mặc định của ZooKeeper 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
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 địa chỉ IP chính xác. Nếu tệp không tồn tại, hãy tạo nó.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 đó có cùng thứ tự trên mỗi nút.
- Tìm trưởng nhóm của nhóm ZooKeeper bằng cách sử dụng lệnh sau (thay thế
node bằng địa chỉ IP của thiết bị Zookeeper):
echo srvr | nc node 2181
Dòng Chế độ trong dữ liệu đầu ra phải có nội dung "leader".
- Khởi động lại một ZooKeeper sau chiến dịch khác bắt đầu bằng trưởng nhóm và kết thúc với nút bật
mà địa chỉ IP đã thay đổi. Nếu nhiều nút người chăm sóc vườn thú thay đổi địa chỉ IP, thì nút này có thể
để 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
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. Nếu tệp không tồn tại, hãy tạo tệp đó.- Thay đổi tham số
conf_zookeeper_connection.string
để thêm IP mới địa chỉ - Thay đổi tham số
conf_zookeeper_zk1.host
để thêm IP mới địa chỉ
- Thay đổi tham số
- Trên mỗi nút Trình xử lý thông báo, hãy chỉnh sửa tệp
/opt/apigee/customer/application/message-processor.properties
như sau. Nếu tệp không tồn tại, hãy tạo tệp đó.- Thay đổi thông số
conf_zookeeper_connection.string
để bao gồm thông số mới Địa chỉ IP - Thay đổi tham số
conf_zookeeper_zk1.host
để thêm IP mới địa chỉ
- Thay đổi thông 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. Nếu tệp không tồn tại, hãy tạo tệp đó.- Thay đổi thông số
conf_zookeeper_connection.string
để bao gồm thông số mới Địa chỉ IP - Thay đổi tham số
conf_zookeeper_zk1.host
để thêm IP mới địa chỉ
- Thay đổi thông số
- Khởi động lại tất cả thành phần 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
. Nếu tệp không tồn tại, hãy tạo tệp đó. - 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
Để 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, Postgres) Máy chủ (không phải postgresql) và Máy chủ Qpid (không phải qpidd):
- Dùng lệnh
curl
sau để đăng ký địa chỉ IP nội bộ và địa chỉ IP 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 mã nhận dạng duy nhất (UUID) của một thành phần, hãy xem bài viết Lấy mã nhận dạng duy nhất (UUID).