如何重新安裝及還原元件

私有雲的邊緣 4.16.05 版

本文件說明如何重新安裝及還原 Edge 元件。如果您必須重新安裝 Edge 元件再還原備份,請執行這項程序。

Apache ZooKeeper

還原一個獨立節點

  1. 停止 ZooKeeper:
    > /<inst_root>/apigee/apigee-service/bin/apigee-service apigee-zookeeper stop
  2. 移除舊的 ZooKeeper 目錄:
    /<inst_root>/apigee/data/apigee-zookeeper
    /<inst_root>/apigee/etc/apigee-zookeeper.d
  3. 重新安裝 ZooKeeper:
    > /<inst_root>/apigee/apigee-service/bin/apigee-service apigee-zookeeper 安裝
  4. 還原 ZooKeeper。
    > /<inst_root>/apigee/apigee-service/bin/apigee-service apigee-zookeeperRestore backup-2016.03.17,14.40.41.tar.gz
  5. 重新啟動所有元件:
    > /<inst_root>/apigee/apigee-service/bin/apigee-all restart

還原 1 個叢集節點

如果某個大型的 ZooKeeper 節點發生錯誤,則可使用相同的主機名稱/IP 位址建立新節點,然後重新安裝 ZooKeeper。新的 ZooKeeper 節點加入 ZooKeeper 後,便會取得領導者的最新快照,並開始為用戶端提供服務。您不需要還原這個執行個體中的資料。

  1. 重新安裝 ZooKeeper:
    > /<inst_root>/apigee/apigee-service/bin/apigee-service apigee-zookeeper 安裝
  2. 使用安裝原始節點時所用的相同設定檔,在 ZooKeeper 節點上執行設定:
    > /<inst_root>/apigee/apigee-service/bin/apigee-service apigee-zookeeper - -f
  3. 啟動 ZooKeeper:
    > /<inst_root>/apigee/apigee-service/bin/apigee-service apigee-zookeeper

還原完整叢集

  1. 停止完成的叢集。
  2. 按照上文為單一節點所述,還原備份檔案中的所有 ZooKeeper 節點。
  3. 啟動 ZooKeeper 叢集。
  4. 重新啟動所有元件。

Apache Cassandra

還原一個獨立節點

  1. 停止 Cassandra:
    > /<inst_root>/apigee/apigee-service/bin/apigee-service apigee-cassandra stop
  2. 移除舊的 Cassandra 目錄:
    /<inst_root>/apigee/data/apigee-cassandra
    /<inst_root>/apigee/etc/apigee-cassandra.d
  3. 重新安裝 Cassandra:
    > /<inst_root>/apigee/apigee-service/bin/apigee-service apigee-cassandra install
  4. 還原 Cassandra:
    > /<inst_root>/apigee/apigee-service/bin/apigee-service apigee-cassandra restore backup-2016.03.17,14.40.41.tar.gz
  5. 重新啟動所有元件:
    > /<inst_root>/apigee/apigee-service/bin/apigee-all restart

還原 1 個叢集節點

如果單一 Cassandra 節點故障,屬於整體一部分,您可以建立具有相同主機名稱/IP 位址的新節點。您只需要重新安裝 Cassandra,不需要還原資料。

注意:在非種子節點上執行重新安裝時,請確認至少有一個 Cassandra 種子節點。

  1. 重新安裝 Cassandra:
    > /<inst_root>/apigee/apigee-service/bin/apigee-service apigee-cassandra 安裝
  2. 使用安裝原始節點時使用的相同設定檔,在 Cassandra 節點上執行設定:
    > /<inst_root>/apigee/apigee-service/bin/apigee-service apigee-cassandra -f configFile
  3. 啟動 Cassandra:
    > /<inst_root>/apigee/apigee-service/bin/apigee-service apigee-cassandra 開始
  4. 安裝 Cassandra 後,節點正常運作 (因為所有 Keyspace 的 RF>=2),請執行以下 nodetool 指令來初始化節點:
    <inst_root>/apigee/apigee-cassandra/bin/nodetool -h localhost 修復

還原完整叢集

  1. 停止完成的叢集。
  2. 從備份檔案還原所有 Cassandra 節點。
  3. 啟動 Cassandra 叢集。
  4. 重新啟動所有元件。

PostgreSQL 資料庫

PosgreSQL 可獨立執行或做為主要版本

  1. 在所有節點中停止管理伺服器、Qpid 伺服器和 Postgres 伺服器:
    注意:當這些元件停止時,您的系統仍可處理傳送至 API Proxy 的要求。
    > /<inst_root>/apigee/apigee-service/bin/apigee-service Edge-management-server stop
    > /<inst_root>/apigee/apigee-service/bin/apigee-service Edge-qpid-server stop
    > /<inst_root>/apigee/apigee-service/bin/apigee-service Edge-postgres-server
  2. 重新安裝 PostgreSQL 資料庫:
    > /<inst_root>/apigee/apigee-service/bin/apigee-service apigee-postgresql 安裝
  3. 啟動 PostgreSQL:
    > /<inst_root>/apigee/apigee-service/bin/apigee-service apigee-postgresql 開始
  4. 從備份檔案還原 PostgreSQL 資料庫:
    /<inst_root>/apigee/apigee-service/bin/apigee-service apigee-postgresql 這項作業 2016.03.17,14.40.41.dump
  5. 在所有節點上啟動管理伺服器、Qpid Server 和 Postgres Server:
    > /<inst_root>/apigee/apigee-service/bin/apigee-service Edge-management-server start
    > /<inst_root>/apigee/apigee-service/bin/apigee-service Edge-qpid-apigee-apigee-apigee
    /<inst_server-start
    /

PosgreSQL 是以待命模式執行

  1. 重新安裝 PostgreSQL 資料庫:
    > /<inst_root>/apigee/apigee-service/bin/apigee-service apigee-postgresql 安裝
  2. 使用相同的安裝設定檔重新設定 PostgreSQL 資料庫:
    /<inst_root>/apigee/apigee-service/bin/apigee-service apigee-postgresql 設定 -f configFile
  3. 啟動 PostgreSQL:
    > /<inst_root>/apigee/apigee-service/bin/apigee-service apigee-postgresql 開始

Postgres 伺服器

  1. 在所有主要執行個體和待命節點中停止 Postgres 伺服器:
    > /<inst_root>/apigee/apigee-service/bin/apigee-serviceedge-postgres-server stop
  2. 移除舊的 Postgres 伺服器目錄:
    /<inst_root>/apigee/data/edge-postgres-server
    /<inst_root>/apigee/etc/edge-postgres-server.d
  3. 重新安裝 Postgres 伺服器:
    > /<inst_root>/apigee/apigee-service/bin/apigee-service Edge-postgres-server install
  4. 從備份檔案還原 Postgres 伺服器:
    > /<inst_root>/apigee/apigee-service/bin/apigee-serviceedge-postgres-server restore Backup-2016.03.17,14.40.41.tar.gz
  5. 在所有主要和待命節點上啟動 Postgres 伺服器:
    > /<inst_root>/apigee/apigee-service/bin/apigee-serviceedge-postgres-server start

Qpid 伺服器和 Qpidd

  1. 在所有節點中停止 Qpidd、Qpid Server 和 Postgres Server:
    > /<inst_root>/apigee/apigee-service/bin/apigee-service Edge-qpid-server stop
    > /<inst_root>/apigee/apigee-service/bin/apigee-serviceedge-postgres-apigee-apigee
    > <instq-service/apigee-service.狀況
  2. 移除舊的 Qpid 伺服器和 Qpidd 目錄:
    /<inst_root>/apigee/data/edge-qpid-server
    /<inst_root>/apigee/etc/edge-qpid-server.d
    /<inst_root>/apigee/data/apigee-qpidd
    apigee/<inst_root>/apigee/etc/
  3. 重新安裝 Qpidd:
    > /<inst_root>/apigee/apigee-service/bin/apigee-service apigee-qpidd install
  4. 還原 Qpidd:
    > /<inst_root>/apigee/apigee-service/bin/apigee-service apigee-qpiddrecovery backup-2016.03.17,14.40.41.tar.gz
  5. 開始 Qpidd:
    > /<inst_root>/apigee/apigee-service/bin/apigee-service apigee-qpidd start
  6. 重新安裝 Qpid 伺服器:
    > /<inst_root>/apigee/apigee-service/bin/apigee-service Edge-qpid-server install
  7. 還原 Qpid 伺服器:
    > /<inst_root>/apigee/apigee-service/bin/apigee-serviceedge-qpid-server restore backup-2016.03.17,14.40.41.tar.gz
  8. 在所有節點中重新啟動 Qpid Server、Qpidd 和 Postgres Server:
    > /<inst_root>/apigee/apigee-service/bin/apigee-service apigee-qpidd restart
    > /<inst_root>/apigee/apigee-service/bin/apigee-service Edge-qpid-apigee-apigee
    > <in/serviceserver-apigee.id

OpenLDAP

  1. 停止 OpenLDAP:
    > /<inst_root>/apigee/apigee-service/bin/apigee-service apigee-openldap stop
  2. 重新安裝 OpenLDAP:
    > /<inst_root>/apigee/apigee-service/bin/apigee-service apigee-openldap install
  3. 移除舊的 OpenLDAP 目錄:
    /<inst_root>/apigee/data/apigee-openldap
    /<inst_root>/apigee/etc/apigee-openldap.d
  4. 還原 OpenLDAP:
    > /<inst_root>/apigee/apigee-service/bin/apigee-service apigee-openldap restore backup-2016.03.17,14.40.41.tar.gz
  5. 重新啟動 OpenLDAP:
    > /<inst_root>/apigee/apigee-service/bin/apigee-service apigee-openldap start
  6. 重新啟動所有管理伺服器:
    > /<inst_root>/apigee/apigee-service/bin/apigee-service Edge-management-server restart

管理伺服器

  1. 停止管理伺服器:
    > /<inst_root>/apigee/apigee-service/bin/apigee-service Edge-management-server stop
  2. 移除舊的管理伺服器目錄:
    /<inst_root>/apigee/data/edge-management-server
    /<inst_root>/apigee/etc/edge-management-server.d
  3. 重新安裝管理伺服器:
    > /<inst_root>/apigee/apigee-service/bin/apigee-service Edge-management-server install
  4. 從備份檔案還原管理伺服器:
    > /<inst_root>/apigee/apigee-service/bin/apigee-serviceedge-management-server restore backup-2016.03.17,14.40.41.tar.gz
  5. 重新啟動管理伺服器:
    > /<inst_root>/apigee/apigee-service/bin/apigee-service Edge-management-server start

訊息處理器

  1. 停止訊息處理器:
    > /<inst_root>/apigee/apigee-service/bin/apigee-service Edge-message-processor 停止
  2. 移除舊的訊息處理器目錄:
    /<inst_root>/apigee/data/edge-message-processor
    /<inst_root>/apigee/etc/edge-message-processor.d
  3. 重新安裝訊息處理器:
    > /<inst_root>/apigee/apigee-service/bin/apigee-service Edge-message-processor install
  4. 從備份檔案還原訊息處理器:
    > /<inst_root>/apigee/apigee-service/bin/apigee-serviceedge-message-processor restore backup-2016.03.17,14.40.41.tar.gz
  5. 重新啟動訊息處理器:
    > /<inst_root>/apigee/apigee-service/bin/apigee-service Edge-message-processor 開始

路由器

  1. 停止路由器:
    > /<inst_root>/apigee/apigee-service/bin/apigee-service Edge-router stop
  2. 移除舊的路由器目錄:
    /<inst_root>/apigee/data/edge-router
    /<inst_root>/apigee/etc/edge-router.d
  3. 重新安裝路由器:
    > /<inst_root>/apigee/apigee-service/bin/apigee-service Edge-router install
  4. 從備份檔案還原路由器:
    > /<inst_root>/apigee/apigee-service/bin/apigee-service Edge-router restore backup-2016.03.17,14.40.41.tar.gz
  5. 重新啟動路由器:
    > /<inst_root>/apigee/apigee-service/bin/apigee-service Edge-router start

Edge UI

  1. 停止 UI:
    > /<inst_root>/apigee/apigee-service/bin/apigee-service Edge-ui stop
  2. 移除舊的 UI 目錄:
    /<inst_root>/apigee/data/edge-ui
    /<inst_root>/apigee/etc/edge-ui.d
  3. 重新安裝 UI:
    > /<inst_root>/apigee/apigee-service/bin/apigee-service Edge-ui install
  4. 從備份檔案還原 UI:
    > /<inst_root>/apigee/apigee-service/bin/apigee-service Edge-ui restore backup-2016.03.17,14.40.41.tar.gz
  5. 重新啟動 UI:
    > /<inst_root>/apigee/apigee-service/bin/apigee-service Edge-ui start

完成現場復原

  1. 停止所有元件節點。請注意,子系統的停止順序非常重要,也就是先所有 Edge 節點,然後再選取所有資料儲存庫節點。
  2. 按照上述方式還原所有元件。
  3. 現在,請依照下列順序啟動所有元件。請注意,啟動子系統的順序十分重要:
    1. 啟動 ZooKeeper 叢集
    2. 啟動 Cassandra 叢集
    3. 確保 OpenLDAP 已啟用且正在執行
    4. 開始 qpid
    5. 確保 PostgreSQL 資料庫已啟動且正在運作
    6. 啟動管理伺服器
    7. 啟動路由器和訊息處理器
    8. 啟動 Qpid 伺服器
    9. 啟動 Postgres 伺服器
    10. 啟動 Apigee UI