遷移 Apigee 伺服器

Private Cloud v4.18.05 專用 Edge

Apigee 元件會透過 IP 位址彼此通訊。從某個位置移動元件 可能導致設定不一致的情況如要修正設定不符的問題,請遵循 相關操作說明。

變更 Cassandra 節點的 IP 位址

如要變更 Cassandra 節點的 IP 位址,請執行下列步驟:

適用對象 設定單一 Cassandra 節點的設定

  1. 編輯「/opt/apigee/customer/application/cassandra.properties」 受到修改的系統影響如果檔案不存在,請建立一個。
  2. 變更下列參數:
    • 設定 conf_cassandra_seedsconf_cassandra_listen_address 參數來指定系統的新 IP 位址。
    • 變更要使用的 conf_cassandra_rpc_address 新的 IP 位址或 0.0.0.0 (可讓 Cassandra Thrift 監聽所有 介面)。
  3. 開啟「/opt/apigee/apigee-cassandra/conf/cassandra-topology.properties」 「在編輯器中設定」舊的 IP 位址和預設設定應以下列格式顯示:
    192.168.56.101=dc-1:ra-1
    default=dc-1:ra-1

    儲存該項資訊。

  4. 編輯「/opt/apigee/customer/application/cassandra.properties」 以變更指定至新 IP 位址的舊 IP 位址:
    conf_cassandra-topology_topology=192.168.56.103=dc-1:ra-1\ndefault=dc-1:ra-1\n

    確認已插入「\n」,並指定與 執行這些步驟

  5. 重新啟動 Cassandra:
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
  6. 如有需要,也請修復 ZooKeeper (請見下方),否則請重新啟動每個 Apigee 平台 從 Management Server 開始

適用對象 具有多個 Cassandra 節點 (環) 的設定

  1. 如果要變更的節點是種子節點,請編輯 /opt/apigee/customer/application/cassandra.properties ,並將 conf_cassandra_seeds 參數變更為包含 加密系統的新 IP如果 cassandra.properties 檔案不存在,請建立 基礎架構
  2. 編輯「/opt/apigee/customer/application/cassandra.properties」 ,然後變更下列參數:
    • conf_cassandra_listen_address 設為使用新的 IP 位址。
    • conf_cassandra_rpc_address 設為使用新的 IP 位址或「0.0.0.0」 (允許 Cassandra Thrift 監聽所有介面)。
  3. 開啟「/opt/apigee/apigee-cassandra/conf/cassandra-topology.properties」 「在編輯器中設定」您應該會看到所有 Cassandra IP 位址與預設設定 表單:
    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

    儲存該項資訊。

  4. 編輯「/opt/apigee/customer/application/cassandra.properties」 以變更指定至新 IP 位址的舊 IP 位址:
    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

    確認已插入「\n」並使用相同的預設設定 記錄在上述步驟 3 中的

  5. 在修改的系統上重新啟動 Cassandra。如果修改後的系統是種子節點 並重新啟動每個使用修改種子節點的系統。
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
  6. 執行 nodetool ring 指令,確保環形完成。這個公用程式位於 /opt/apigee/apigee-cassandra/bin
    nodetool -h localhost ring
  7. 在以下位置執行 nodetool repair: 經過修改的節點請注意,這個程序可能需要一些時間,所以我們強烈建議您 這不會在 API 流量尖峰時段完成
    nodetool -h localhost repair
  8. 如有需要,請修復 ZooKeeper (請見下方),然後重新啟動每個 Apigee 平台元件 從管理伺服器開始

更新資料儲存庫 註冊

  1. 使用 指令。記下「類型」以及「UUID」參數:
    • 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]'

      其中 DC 是資料中心名稱。在單一資料中心安裝作業中 值通常為「dc-1」。

  2. 使用下列其中一個指令註冊新 IP 位址。所需指令 取決於變更節點的類型
    • 針對 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
    • 適用於 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&region=REGION&pod=GATEWAY_POD" -H 'content-type: \
        application/x-www-form-urlencoded' -X POST
    • 適用於 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. 刪除 IP 位址所屬系統的 UUID 舊註冊記錄 已變更。針對以下每個 UUID 問題:
    curl -u ADMINEMAIL:PW "http://MSIP:port/v1/servers/OLD_UUID" -X DELETE

變更 ZooKeeper 節點的 IP 位址

如要變更 ZooKeeper 節點的 IP 位址,請按照下列步驟操作:

變更 IP 位址並重新啟動 ZooKeeper 整體設定 (適用於多節點集體設定 )

  1. 在編輯器中開啟 /opt/apigee/apigee-zookeeper/conf/zoo.cfg。您應該會看到 所有 ZooKeeper IP 位址及預設設定,格式如下:
    server.1=192.168.56.101:2888:3888
    server.2=192.168.56.102:2888:3888
    server.3=192.168.56.103:2888:3888

    儲存該項資訊。

  2. 在每個 ZooKeeper 節點上編輯檔案 /opt/apigee/customer/application/zookeeper.properties 檔案來將 conf_zoo_quorum 屬性設為正確的 IP 位址。如果檔案 不存在,請建立該檔案。
    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

    確認已插入「\n」且當中的項目順序也相同 每節點

  3. 使用以下指令尋找 ZooKeeper 組系的領導者 (取代 將 node 替換為 Zookeeper 機器的 IP 位址:
    echo srvr | nc node 2181

    輸出內容中的模式行應會顯示「leader」。

  4. 依序重新啟動其中一個 ZooKeeper IP 位址已變更如有多個妥當者節點變更了 IP 位址, 以便重新啟動所有節點
    /opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper restart
  5. 使用上述的 echo 指令驗證每個 ZooKeeper 節點。

向 Apigee 節點通知已變更的設定

  1. 在每個路由器節點上編輯 /opt/apigee/customer/application/router.properties 檔案 如下所示。如果檔案不存在,請建立一個。
    • 變更 conf_zookeeper_connection.string 參數以包含新的 IP 地址
    • 變更 conf_zookeeper_zk1.host 參數以包含新的 IP 地址
  2. 在每個訊息處理器節點上編輯 /opt/apigee/customer/application/message-processor.properties 檔案 如下所示。如果檔案不存在,請建立一個。
    • conf_zookeeper_connection.string 參數變更為包含新的 IP 位址
    • 變更 conf_zookeeper_zk1.host 參數以包含新的 IP 地址
  3. 在 Management Server 節點上編輯 /opt/apigee/customer/application/management-server.properties 檔案 如下所示。如果檔案不存在,請建立一個。
    • conf_zookeeper_connection.string 參數變更為包含新的 IP 位址
    • 變更 conf_zookeeper_zk1.host 參數以包含新的 IP 地址
  4. 在每個節點上執行下列指令,重新啟動所有 Apigee 平台元件:
    /opt/apigee/apigee-service/bin/apigee-all restart

變更 LDAP 伺服器的 IP 位址 (OpenLDAP)

如要變更 OpenLDAP 節點的 IP 位址,請按照下列步驟操作:

  1. 在 Management Server 節點上編輯 /opt/apigee/customer/application/management-server.properties 檔案 檔案。如果檔案不存在,請建立一個。
  2. management-server.properties 檔案中設定 要求新 IP 位址的 conf_security_ldap.server.host 參數。
  3. 重新啟動管理伺服器:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart

變更其他 Apigee 節點的 IP 位址 種類

如何變更任一節點類型 (路由器、訊息處理器、Postgres) 的 IP 位址 伺服器 (非 postgresql) 和 Qpid 伺服器 (非 qpidd):

  1. 使用下列 curl 指令註冊新的內部和外部 IP 位址:
    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

    其中 uuid 是節點的 UUID。

如果您不知道節點的 UUID,可以使用以下指令顯示節點:

  • Router
    curl http://router_IP:8081/v1/servers/self
  • 訊息處理器:
    curl http://mp_IP:8082/v1/servers/self
  • Qpid
    curl http://qp_IP:8083/v1/servers/self
  • Postgres
    curl http://pg_IP:8084/v1/servers/self