Di chuyển máy chủ Apigee

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ủ 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ủ do thay đổi đị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:

Cho các cấu hình bằng một nút Cassandra duy nhất

  1. 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 đó.
  2. Thay đổi các thông số sau:
    • Đặt conf_cassandra_seedsconf_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).
  3. 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 đó.

  4. 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.

  5. Khởi động lại Cassandra:
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
  6. Nếu cần, hãy sửa cả ZooKeeper (xem Thay đổi địa chỉ IP của nút ZooKeeper). 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 từ Máy chủ quản lý.

Cho cấu hình có nhiều nút Cassandra (vòng)

  1. 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ó.
  2. 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 mọi giao diện).
  3. 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 đó.

  4. 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.

  5. Khởi động lại Cassandra trên hệ thống đã sửa đổi.
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
  6. Đối với tất cả các nút khác, hãy lặp lại những thay đổi đã thực hiện trong 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 nút gốc theo mô tả trong bước 1.
  7. Khởi động lại từng nút Cassandra còn lại.
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
  8. Chạy lệnh nodetool ring trên nút đã sửa đổi để đảm bảo rằng vòng nhẫn đã 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
  9. 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 một chút thời gian, vì vậy bạn không nên thực hiện trong các giờ có lưu lượng truy cập API cao nhất.
    nodetool [-u username -pw password] -h localhost repair -pr
  10. Nếu cần, hãy sửa chữa ZooKeeper (xem Thay đổi địa chỉ IP của nút ZooKeeper), sau đó khởi động lại mọi thành phần của nền tảng Apigee, bắt đầu từ Máy chủ quản lý.

Cập nhật kho dữ liệu lượt đăng ký

  1. Tìm UUID của đă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&region=DC" | egrep -i '[type|internalip|uuid|region]'
    • curl -u ADMINEMAIL:PW "http://$MSIP:$port/v1/servers?pod=gateway&region=DC" | egrep -i '[type|internalip|uuid|region]'
    • curl -u ADMINEMAIL:PW "http://$MSIP:$port/v1/servers?pod=analytics&region=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, thường là "dc-1".

  2. Đă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&region=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&region=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&region=REGION&pod=analytics" \
        -H 'content-type: application/x-www-form-urlencoded' -X POST 
  3. 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 ZooKeeper:

Thay đổi Địa chỉ IP và khởi động lại tập hợp ZooKeeper (đối với cấu hình tập hợp nhiều nút chỉ)

  1. 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 đó.

  2. 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ính conf_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.

  3. 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".

  4. 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
  5. 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

  1. 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ỉ
  2. 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ỉ
  3. 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ỉ
  4. 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:

  1. 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 đó.
  2. Trong tệp management-server.properties, đặt giá trị conf_security_ldap.server.host thành địa chỉ IP mới.
  3. 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 nút Apigee khác loại

Để 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):

  1. 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).