重新安装和恢复组件

本文档介绍了 Edge 组件的重新安装和恢复。如果您必须在恢复备份之前重新安装 Edge 组件,请使用此程序。

Apache ZooKeeper

恢复一个独立节点

  1. 停止 ZooKeeper:
    /opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper stop
  2. 移除旧的 ZooKeeper 目录:
    /opt/apigee/data/apigee-zookeeper
    /opt/apigee/etc/apigee-zookeeper.d
  3. 重新安装 ZooKeeper:
    /opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper install
  4. 恢复 ZooKeeper:
    /opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper restore 2019.03.17,14.40.41

    请注意,恢复组件时,您无需指定备份文件的目录路径,也无需指定“backup-”前缀或“.tar.gz”后缀。您只需指定备份文件名称中的日期/时间部分。

    您可以选择在 restore 命令中省略备份文件,Edge 将使用组件备份目录中的最新备份文件。

  5. 重启所有组件:
    /opt/apigee/apigee-service/bin/apigee-all restart

恢复一个集群节点

如果合奏中的单个 ZooKeeper 节点发生故障,您可以创建一个具有相同主机名/IP 地址的新节点,然后重新安装 ZooKeeper。当新的 ZooKeeper 节点加入 ZooKeeper 集群时,它将从 Leader 获取最新的快照并开始为客户端提供服务。 您无需在此实例中恢复数据。

  1. 重新安装 ZooKeeper:
    /opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper install
  2. 使用安装原始节点时所用的相同配置文件在 ZooKeeper 节点上运行设置:
    /opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper setup -f configFile
  3. 启动 ZooKeeper:
    /opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper start

恢复整个集群

  1. 停止整个集群。
  2. 按照上述单个节点的说明,从备份文件中恢复所有 ZooKeeper 节点。
  3. 启动 ZooKeeper 集群。
  4. 重启所有组件。

Apache Cassandra

恢复一个独立节点

  1. 停止 Cassandra:
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra stop
  2. 移除旧的 Cassandra 目录:
    /opt/apigee/data/apigee-cassandra
  3. 重新安装 Cassandra:
    /apigee/apigee-service/bin/apigee-service apigee-cassandra install
  4. 恢复 Cassandra:
    /apigee/apigee-service/bin/apigee-service apigee-cassandra restore 2019.03.17,14.40.41

    请注意,恢复组件时,您无需指定备份文件的目录路径,也无需指定“backup-”前缀或“.tar.gz”后缀。您只需指定备份文件名称中的日期/时间部分。

    您可以选择在 restore 命令中省略备份文件,Edge 将使用组件备份目录中的最新备份文件。

  5. 重启所有组件:
    /apigee/apigee-service/bin/apigee-all restart

恢复一个集群节点

如果合奏中的单个 Cassandra 节点发生故障,您可以创建具有相同主机名/IP 地址的新节点。您只需重新安装 Cassandra 并执行一些额外的步骤。您无需从备份中恢复数据。其他节点中的可用副本可用于恢复故障节点上的数据。如果 Cassandra 集群中的节点因硬件故障等原因而崩溃,通常需要执行这些步骤。

如果发生故障的节点无法再访问,请销毁该节点并隔离其网络,以确保它不会意外地重新加入 Cassandra 集群。然后,启动一个与原始节点具有相同 IP 地址的新节点,并在该节点上运行常规的 Apigee 启动步骤。

如果节点仍可访问,并且您想重复使用该节点,请执行以下步骤:

  1. 停止节点上的 Cassandra 进程:
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra stop
  2. 从节点中卸载 Cassandra 软件:
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra uninstall
  3. 从节点中清除数据目录:
    rm -rf /opt/apigee/data/apigee-cassandra

完成上述步骤后,您应该会有一个与失败节点具有相同 IP 地址的节点,并且该节点已准备好安装 Apigee 软件。执行以下步骤:

  1. 确定数据中心的种子节点。
    1. 在与要恢复的节点位于同一数据中心的任何正常运行的 Cassandra 节点上,运行以下命令:
      apigee-service apigee-cassandra configure -search conf_cassandra_seeds
    2. 它会输出如下内容:
      Found key conf_cassandra_seeds, with value, "127.0.0.1", in /opt/apigee/apigee-cassandra/token/default.properties
      Found key conf_cassandra_seeds, with value, 127.0.0.1, in /opt/apigee/apigee-cassandra/token/application/cassandra.properties
      Found key conf_cassandra_seeds, with value, "10.1.0.1,10.1.0.2", in /opt/apigee/token/application/cassandra.properties
      apigee-configutil: apigee-cassandra: # OK
    3. 请参阅输出的最后一行。列出的 IP 地址(以英文逗号分隔)是相应数据中心内节点使用的种子节点。
  2. 在要恢复的全新节点上,创建或修改以下文件:
    vi /opt/apigee/customer/application/cassandra.properties
  3. Add the following line:
    conf_jvm_options_custom_settings=-Dcassandra.replace_address=<ip-address-of-dead-node>
  4. 如果此节点是种子节点之一(节点的 IP 地址显示在第 1 步中的种子节点列表中),请在该文件中添加另一行:
    conf_cassandra_seeds="<comma-separated-seed-list-except-this-node’s-ip>"
    1. 例如,在上述实例中,种子列表包含 2 个 IP 地址 - 10.1.0.1 和 10.1.0.2。如果正在恢复的节点是 10.1.0.1,请添加如下所示的一行:
      conf_cassandra_seeds="10.1.0.2"
  5. 保存文件,并确保该文件归 Apigee 用户
    所有且可供其读取:
    chown apigee:apigee /opt/apigee/customer/application/cassandra.properties
  6. 安装 Cassandra 软件:
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra install
  7. 运行 Cassandra 设置:
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra setup -f <configFile>
  8. 设置将尝试在内部启动 Cassandra 服务。这可能需要很长时间,具体取决于需要从其他节点流式传输的数据量、网络吞吐量等。
  9. [高级选项] 您可以在节点上运行以下 nodetool 命令,从而加快数据流式传输速度:
    nodetool setstreamthroughput <value>
    nodetool setcompactionthroughput <value>
  10. Cassandra 节点恢复运行后,请使用以下标准命令验证该节点是否已成功加入环:
    /opt/apigee/apigee-cassandra/bin/nodetool ring
    /opt/apigee/apigee-cassandra/bin/nodetool status
  11. 验证节点是否已成功启动并运行后,再次修改文件 /opt/apigee/customer/application/cassandra.properties,并移除您之前在此过程的第 3 步和第 4 步中添加的行。
  12. 在节点上重启 Cassandra 服务:
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart

恢复整个集群

  1. 停止整个集群。
  2. 从备份文件恢复所有 Cassandra 节点。
  3. 启动 Cassandra 集群。
  4. 重启所有组件。

PostgreSQL 数据库

以独立模式或主模式运行的 PostgreSQL

  1. 停止所有节点上的管理服务器、Qpid 服务器和 Postgres 服务器:
    /apigee/apigee-service/bin/apigee-service edge-management-server stop
    /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server stop
    /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop
  2. 重新安装 PostgreSQL 数据库:
    /apigee/apigee-service/bin/apigee-service apigee-postgresql install 
  3. 启动 PostgreSQL:
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql start
  4. 从备份文件恢复 PostgreSQL 数据库:
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql restore 2019.03.17,14.40.41

    请注意,恢复 PostgreSQL 组件时,您无需指定备份文件的目录路径,也无需指定“.dump”后缀。您只需指定备份文件名称中的日期/时间部分。

    您可以选择在 restore 命令中省略备份文件,Edge 将使用组件备份目录中的最新备份文件。

  5. 在所有节点上启动管理服务器、Qpid 服务器和 Postgres 服务器:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server start
    /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server start
    /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server start

以备用模式运行的 PostgreSQL

  1. 重新安装 PostgreSQL 数据库:
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql install
  2. 使用用于安装 PostgreSQL 数据库的同一配置文件重新配置该数据库:
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup -f configFile
  3. 启动 PostgreSQL:
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql start 

Postgres 服务器

  1. 停止所有主节点和备用节点上的 Postgres 服务器:
    /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop
  2. 移除旧的 Postgres 服务器目录:
    /opt/apigee/data/edge-postgres-server /opt/apigee/etc/edge-postgres-server.d
  3. 重新安装 Postgres 服务器:
    /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server install
  4. 从备份文件恢复 Postgres 服务器:
    /opt/apigee/apigee-service/bin/apigee-service edge-postgre-server restore 2019.03.17,14.40.41

    请注意,恢复组件时,您无需指定备份文件的目录路径,也无需指定“backup-”前缀或“.tar.gz”后缀。您只需指定备份文件名称中的日期/时间部分。

    您可以选择在 restore 命令中省略备份文件,Edge 将使用组件备份目录中的最新备份文件。

  5. 在所有主节点和备用节点上启动 Postgres 服务器:
    /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server start

Qpid 服务器和 Qpidd

  1. 停止所有节点上的 Qpidd、Qpid 服务器和 Postgres 服务器:
    /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server stop
    /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop
    /opt/apigee/apigee-service/bin/apigee-service apigee-qpidd stop
  2. 移除旧的 Qpid 服务器和 Qpidd 目录:
    /opt/apigee/data/edge-qpid-server
    /opt/apigee/etc/edge-qpid-server.d
    /opt/apigee/data/apigee-qpidd
    /opt/apigee/etc/apigee-qpidd.d 
  3. 重新安装 Qpidd:
    /opt/apigee/apigee-service/bin/apigee-service apigee-qpidd install 
  4. 恢复 Qpidd:
    /opt/apigee/apigee-service/bin/apigee-service apigee-qpidd restore 2019.03.17,14.40.41

    请注意,恢复组件时,您无需指定备份文件的目录路径,也无需指定“backup-”前缀或“.tar.gz”后缀。您只需指定备份文件名称中的日期/时间部分。

    您可以选择在 restore 命令中省略备份文件,Edge 将使用组件备份目录中的最新备份文件。

  5. 启动 Qpidd:
    /opt/apigee/apigee-service/bin/apigee-service apigee-qpidd start 
  6. 重新安装 Qpid 服务器:
    /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server install
  7. 恢复 Qpid 服务器:
    /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restore 2019.03.17,14.40.41

    请注意,恢复组件时,您无需指定备份文件的目录路径,也无需指定“backup-”前缀或“.tar.gz”后缀。您只需指定备份文件名称中的日期/时间部分。

    您可以选择在 restore 命令中省略备份文件,Edge 将使用组件备份目录中的最新备份文件。

  8. 在所有节点上重启 Qpid 服务器 (Qpidd) 和 Postgres 服务器:
    /opt/apigee/apigee-service/bin/apigee-service apigee-qpidd restart
    /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart
    /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart

SymasLDAP

  1. 停止 SymasLDAP:
    /opt/apigee/apigee-service/bin/apigee-service apigee-openldap stop
  2. 重新安装 SymasLDAP:
    /opt/apigee/apigee-service/bin/apigee-service apigee-openldap install
  3. 移除旧的 SymasLDAP 目录:
    /opt/apigee/data/apigee-openldap /opt/apigee/etc/apigee-openldap.d
  4. 恢复 SymasLDAP:
    /opt/apigee/apigee-service/bin/apigee-service apigee-openldap restore 2019.03.17,14.40.41

    请注意,恢复组件时,您无需指定备份文件的目录路径,也无需指定“backup-”前缀或“.tar.gz”后缀。您只需指定备份文件名称中的日期/时间部分。

    您可以选择在 restore 命令中省略备份文件,Edge 将使用组件备份目录中的最新备份文件。

  5. 重启 SymasLDAP:
    /opt/apigee/apigee-service/bin/apigee-service apigee-openldap start
  6. 重启所有管理服务器:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart

管理服务器

  1. 停止管理服务器:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server stop
  2. 移除旧的管理服务器目录:
    /opt/apigee/data/edge-management-server /opt/apigee/etc/edge-management-server.d
  3. 重新安装管理服务器:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server install
  4. 从备份文件恢复管理服务器:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restore 2019.03.17,14.40.41

    请注意,恢复组件时,您无需指定备份文件的目录路径,也无需指定“backup-”前缀或“.tar.gz”后缀。您只需指定备份文件名称中的日期/时间部分。

    您可以选择在 restore 命令中省略备份文件,Edge 将使用组件备份目录中的最新备份文件。

  5. 重启管理服务器:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server start

消息处理器

  1. 停止消息处理器:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor stop
  2. 移除旧的消息处理器目录:
    /opt/apigee/data/edge-message-processor
    /opt/apigee/etc/edge-message-processor.d
  3. 重新安装消息处理器:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor install
  4. 从备份文件恢复消息处理器:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restore 2019.03.17,14.40.41

    请注意,恢复组件时,您无需指定备份文件的目录路径,也无需指定“backup-”前缀或“.tar.gz”后缀。您只需指定备份文件名称中的日期/时间部分。

    您可以选择在 restore 命令中省略备份文件,Edge 将使用组件备份目录中的最新备份文件。

  5. 重启消息处理器:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor start

路由器

  1. 停止路由器:
    /opt/apigee/apigee-service/bin/apigee-service edge-router stop
  2. 移除旧的路由器目录:
    /opt/apigee/data/edge-router
    /opt/apigee/etc/edge-router.d
  3. 重新安装路由器:
    /opt/apigee/apigee-service/bin/apigee-service edge-router install
  4. 从备份文件恢复路由器:
    /opt/apigee/apigee-service/bin/apigee-service edge-router restore 2019.03.17,14.40.41

    请注意,恢复组件时,您无需指定备份文件的目录路径,也无需指定“backup-”前缀或“.tar.gz”后缀。您只需指定备份文件名称中的日期/时间部分。

    您可以选择在 restore 命令中省略备份文件,Edge 将使用组件备份目录中的最新备份文件。

  5. 重启路由器:
    /opt/apigee/apigee-service/bin/apigee-service edge-router start

Edge 界面

  1. 停止界面:
    /opt/apigee/apigee-service/bin/apigee-service edge-ui stop
  2. 移除旧的界面目录:
    /opt/apigee/data/edge-ui
    /opt/apigee/etc/edge-ui.d
  3. 重新安装界面:
    /opt/apigee/apigee-service/bin/apigee-service edge-ui install
  4. 从备份文件恢复界面:
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restore 2019.03.17,14.40.41

    请注意,恢复组件时,您无需指定备份文件的目录路径,也无需指定“backup-”前缀或“.tar.gz”后缀。您只需指定备份文件名称中的日期/时间部分。

    您可以选择在 restore 命令中省略备份文件,Edge 将使用组件备份目录中的最新备份文件。

  5. 重启界面:
    /opt/apigee/apigee-service/bin/apigee-service edge-ui start

完成网站恢复

  1. 停止所有组件节点。请注意,停止子系统的顺序非常重要:首先停止所有边缘节点,然后停止所有数据存储区节点。
  2. 如上所述,恢复所有组件。
  3. 现在,按以下顺序启动所有组件。请注意,启动子系统的顺序很重要:
    1. 启动 ZooKeeper 集群
    2. 启动 Cassandra 集群
    3. 确保 SymasLDAP 已启动并正在运行
    4. 启动 qpid
    5. 确保 PostgreSQL 数据库正常运行
    6. 启动管理服务器
    7. 启动路由器和消息处理器
    8. 启动 Qpid 服务器
    9. 启动 Postgres 服务器
    10. 启动 Apigee 界面