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 sự không khớp về cấu hình 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 các lỗi không khớp về cấu hình.
Đị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ủ trong các 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ữ thay vì địa chỉ IP, nhưng việc sử dụng tên máy chủ lưu trữ có thể gây khó khăn cho việc khắc phục sự cố. Ví dụ: tên máy chủ lưu trữ có thể là nguồn gốc của các vấn đề liên quan đến khả năng kết nối của máy chủ DNS, lỗi tra cứu và đồng bộ hoá.
Do đó, Apigee đặc biệt khuyến nghị bạ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 thể sử dụng tên máy chủ. Hầu hết các ví dụ trong tài liệu đề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ững tác động của các trường hợp sau khi di chuyển máy chủ Apigee:
Trường hợp | Tác động khi di chuyển máy chủ |
---|---|
Thay đổi đị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ủ lưu trữ khi thay đổi địa chỉ IP | Tương tự như việc thay đổi địa chỉ IP |
Thay đổi địa chỉ IP của một 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:
Đối với các 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. Nếu tệp không tồn tại, hãy tạo tệp. - Thay đổi các tham 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 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ũ đã 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 chế độ cài đặt mặc định như bạn đã thấy ở 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 chữa ZooKeeper (xem phần Thay đổi địa chỉ IP của một nút ZooKeeper). Nếu không, hãy khởi động lại mọi thành phần nền tảng Apigee, bắt đầu bằng Management Server.
Đối với các cấu hình có nhiều nút Cassandra (vòng)
- Nếu nút đang được thay đổi là nút khởi động, hãy chỉnh sửa tệp
/opt/apigee/customer/application/cassandra.properties
trên mỗi hệ thống trong vòng và thay đổi tham sốconf_cassandra_seeds
để thêm 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 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 theo dõi trên tất cả các giao diện).
- Đặt
- Mở
/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 Cassandra và chế độ cài đặt mặc định ở dạng: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ũ đã 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 và sử dụng cùng chế độ cài đặt mặc định như bạn đã ghi ở Bước 3.
- Khởi động lại Cassandra trên hệ thống đã sửa đổi.
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
- Đối với tất cả các nút khác, hãy lặp lại những thay đổi được thực hiện ở bước 3 và 4 để thông báo cho chúng về vị trí của nút này trong vòng Cassandra. Ngoài ra, hãy thay đổi IP của nút khởi động như mô tả trong bước 1.
- Khởi động lại từng nút Cassandra còn lạ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
- 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 một khoảng thời gian, vì vậy, bạn không nên thực hiện trong giờ cao điểm lưu lượng truy cập API.nodetool [-u username -pw password] -h localhost repair -pr
- Nếu cần, hãy sửa chữa ZooKeeper (xem phần Thay đổi địa chỉ IP của một nút ZooKeeper), sau đó khởi động lại mọi thành phần 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 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 các lệnh bên dưới. Ghi lại các tham 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 duy nhất, 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 thiết sẽ phụ thuộc vào loại nút đã 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="kms-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 UUID của hệ thống mà địa chỉ IP đã thay đổi. Đối với mỗi vấn đề về UUID này:
curl -u ADMINEMAIL:PW "http://MSIP:port/v1/servers/OLD_UUID" -X DELETE
Thay đổi địa chỉ IP của một 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 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 một trình chỉnh sửa. Bạn sẽ thấy tất cả địa chỉ IP ZooKeeper và chế độ cài đặt mặc định ở dạng: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 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 có cùng thứ tự trên mọi nút.
- Tìm máy chủ chính của nhóm ZooKeeper bằng lệnh sau (thay thế node bằng địa chỉ IP của máy ZooKeeper):
echo srvr | nc node 2181
Dòng Mode (Chế độ) trong đầu ra phải có nội dung "leader" (chủ đạo).
- Khởi động lại từng ZooKeeper một, bắt đầu từ máy chủ chính và kết thúc bằng nút mà địa chỉ IP đã được thay đổi. Nếu có nhiều nút zookeeper thay đổi địa chỉ IP, bạn có thể 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
như 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 Router, 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 địa chỉ IP mới - Thay đổi tham số
conf_zookeeper_zk1.host
để thêm địa chỉ IP mới
- Thay đổi tham số
- Trên mỗi nút Message Processor, 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 tham số
conf_zookeeper_connection.string
để thêm địa chỉ IP mới - Thay đổi tham số
conf_zookeeper_zk1.host
để thêm địa chỉ IP mới
- Thay đổi tham số
- Trên nút Management Server (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 tham số
conf_zookeeper_connection.string
để thêm địa chỉ IP mới - Thay đổi tham số
conf_zookeeper_zk1.host
để thêm địa chỉ IP mới
- Thay đổi tham 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 (SymasLDAP)
Để thay đổi địa chỉ IP của một nút SymasLDAP, 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
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, Trình xử lý thông báo, Máy chủ Postgres (không phải postgresql) và Máy chủ Qpid (không phải qpidd):
- Sử dụng lệnh
curl
sau đây để đă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.