Edge for Private Cloud v4.18.01
哪些 Edge 版本可以更新到 4.18.01
您可以使用此过程将 Apigee Edge 4.16.09.0x 版更新为 4.18.01 版。
如果您使用的是 4.16.01 之前的 Edge 版本,则必须先迁移到 4.16.01.x 版,然后再更新到 4.18.01 版。
谁可以执行更新
运行更新的用户应与最初安装 Edge 的用户相同,或以根用户身份运行。
安装 Edge RPM 后,任何用户都可以对其进行配置。
您必须更新哪些组件
您必须更新所有 Edge 组件。Edge 不支持包含多个版本组件的设置。
必须升级到 Qpid 1.35
此版本包含对 Qpid 1.35 的必要更新。在更新 Qpid 节点的过程中,您必须:
- 通过在 Qpid 节点上屏蔽端口 5672,暂时阻止路由器和消息处理器写入 Qpid 节点。您可以使用以下命令在 Qpid 节点上屏蔽此端口:
> sudo iptables -A INPUT -p tcp --destination-port 5672 ! -s `hostname` -i eth0 -j DROP - 等待 Qpid 队列清空消息,以确保 Qpid 节点在更新之前已处理所有消息。使用以下命令确保 Qpid 消息队列为空:
> qpid-stat -q - 更新 Qpid 节点。
- 在 Qpid 节点上解除对端口 5672 的屏蔽,以允许路由器和消息处理器访问。
您可以使用以下命令来解除对此端口的屏蔽:
> sudo iptables -F
请注意,如果您将 iptables 用于其他规则,则可以使用 -D 选项来撤消特定更改:
> sudo iptables -D INPUT -p tcp --destination-port 5672 ! -s `hostname` -i eth0 -j DROP
下文针对每种 Edge 拓扑详细介绍了此过程。
必须升级到 Postgres 9.6
此 Edge 版本包含对 Postgres 9.6 的升级。作为该升级的一部分,所有 Postgres 数据都会迁移到 Postgres 9.6。
在更新过程中,当 Postgres 节点因更新而停机时,分析数据仍会写入 Qpid 节点。Postgres 节点更新并重新上线后,分析数据便会推送到 Postgres 节点。
如果您因任何原因必须回滚更新,则需要额外的 Postgres 备用节点。如果您必须回滚更新,则新的 Postgres 备用节点会在回滚后成为主 Postgres 节点。因此,当您安装新的 Postgres 备用节点时,它应该位于满足 Postgres 服务器的所有硬件要求的节点上,如 Edge 安装要求中所定义。
安装新的 Postgres 备用节点
此过程会在新节点上创建 Postgres 备用服务器。确保为现有 Edge 版本 (4.16.09) 安装新的 Postgres 备用服务器,而不是为 4.18.01 版本安装。
如需执行安装,请使用安装当前 Edge 版本时所用的配置文件。
如需创建新的 Postgres 备用节点,请执行以下操作:
- 在当前 Postgres 主节点上,修改 /opt/apigee/customer/application/postgresql.properties 文件以设置以下令牌。如果该文件不存在,请创建它:
conf_pg_hba_replication.connection=host replication apigee existing_slave_ip/32 trust\ \nhost replication apigee new_slave_ip/32 trust
其中,existing_slave_ip 是当前 Postgres 备用服务器的 IP 地址,new_slave_ip 是新备用节点的 IP 地址。 - 在 Postgres 主节点上重启 apigee-postgresql:
> /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql restart - 通过查看主节点上的 /opt/apigee/apigee-postgresql/conf/pg_hba.conf 文件,验证是否已添加新的备用节点。您应该会在该文件中看到以下行:
host replication apigee existing_slave_ip/32 trust
host replication apigee new_slave_ip/32 trust - 安装新的 Postgres 备用服务器:
- 修改用于安装当前 Edge 版本的配置文件,以指定以下内容:
# 当前主实例的 IP 地址:
PG_MASTER=192.168.56.103
# 新备用节点的 IP 地址
PG_STANDBY=192.168.56.102 - 按照安装 Edge apigee-setup 实用程序中的说明停用 SELinux。
- 将 Edge bootstrap_4.16.09.sh 文件下载到 /tmp/bootstrap_4.16.09.sh:
> curl https://software.apigee.com/bootstrap_4.16.09.sh -o /tmp/bootstrap_4.16.09.sh - 安装 Edge apigee-service 实用程序和依赖项:
> sudo bash /tmp/bootstrap_4.16.09.sh apigeeuser=uName apigeepassword=pWord - 使用 apigee-service 安装 apigee-setup 实用程序:
> /opt/apigee/apigee-service/bin/apigee-service apigee-setup install - 安装 Postgres:
> /opt/apigee/apigee-setup/bin/setup.sh -p ps -f configFile - 在新的备用节点上运行以下命令:
> /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-standby
验证它是否显示为备用节点。
- 修改用于安装当前 Edge 版本的配置文件,以指定以下内容:
停用 Postgres 节点
更新完成后,停用新的备用节点:
- 确保 Postgres 正在运行:
> /opt/apigee/apigee-service/bin/apigee-all status
如果 Postgres 未运行,请启动它:
> /opt/apigee/apigee-service/bin/apigee-all start - 通过在新的备用节点上运行以下 cURL 命令,获取新备用节点的 UUID:
> curl -u sysAdminEmail:password http://<node_IP>:8084/v1/servers/self
您应该会在输出末尾看到节点的 UUID,格式如下:
"type" : [ "postgres-server" ],
"uUID" : "599e8ebf-5d69-4ae4-aa71-154970a8ec75" - 在新的备用节点上运行以下命令,停止新的备用节点:
> /opt/apigee/apigee-service/bin/apigee-all stop - 在 Postgres 主节点上,修改 /opt/apigee/customer/application/postgresql.properties,以从 conf_pg_hba_replication.connection 中移除新的备用节点:
conf_pg_hba_replication.connection=host replication apigee existing_slave_ip/32 trust - 在 Postgres 主节点上重启 apigee-postgresql:
> /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql restart - 通过查看主节点上的 /opt/apigee/apigee-postgresql/conf/pg_hba.conf 文件,验证新的备用节点是否已移除。您应该只在该文件中看到以下行:
host replication apigee existing_slave_ip/32 trust - 在管理服务器节点上发出以下 Edge 管理 API 调用,从 ZooKeeper 中删除备用节点的 UUID:
> curl -u sysAdminEmail:password -X DELETE http://<ms_IP>:8080/v1/servers/<new_slave_uuid>
需要启用 EPEL 代码库
您必须启用 Extra Packages for Enterprise Linux(或 EPEL)才能安装或更新 Edge。您使用的命令取决于您的 RedHat/CentOS 版本:
- 对于 RedHat/CentOS/Oracle 7.x:
> wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm; rpm -ivh epel-release-latest-7.noarch.rpm - 对于 RedHat/CentOS/Oracle 6.x:
wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm; rpm -ivh epel-release-latest-6.noarch.rpm
需要添加 SMTPMAILFROM 配置参数
Edge 4.17.05 向启用 SMTP 服务器时使用的配置文件添加了一个新的必需参数。如果您要从 4.17.01 进行更新,则必须在启用 SMTP 服务器时在配置文件中设置 SMTPMAILFROM。
API BaaS 4.17.09 版还添加了对 SMTPMAILFROM 属性的支持。更新 API BaaS 时,您必须在配置文件中设置 SMTPMAILFROM。
此参数采用以下格式:
SMTPMAILFROM="My Company <myco@company.com>"
如果在使用外部身份验证时进行更新,则此字段为必填字段
您可以将外部目录服务集成到现有的 Apigee Edge 私有云安装中。此功能旨在与支持 LDAP 的任何目录服务(例如 Active Directory、OpenLDAP 等)搭配使用。外部 LDAP 解决方案允许系统管理员通过集中式目录管理服务管理用户凭据,该服务独立于使用这些凭据的系统(如 Apigee Edge)。
如需了解详情,请参阅外部身份验证配置。
启用外部身份验证后,大多数客户会使用 Active Directory SAM 账号名称字段作为身份验证的用户名,而不是使用 Edge OpenLDAP 服务器使用的电子邮件地址。
如果您已与外部目录服务集成,请在将 Edge 更新到 4.17.09 时,将以下行添加到配置文件中:
IS_EXTERNAL_AUTH="true"
此行将 Edge 配置为支持将账号名称(而非电子邮件地址)作为用户名。
自动传播媒体资源设置
如果您通过修改 /opt/apigee/customer/application 中的 .properties 文件设置了任何属性,则更新会保留这些值。
更新前提条件
在升级 Apigee Edge 之前,请先满足以下前提条件:
- 备份所有节点
在更新之前,出于安全原因,建议您对所有节点执行完整备份。使用当前 Edge 版本的步骤执行备份。
这样,您就可以制定备用方案,以防新版本更新无法正常运行。如需详细了解备份,请参阅备份和恢复。 - 确保 Edge 正在运行
使用以下命令确保 Edge 在更新过程中正常运行:
> /opt/apigee/apigee-service/bin/apigee-all status
处理失败的更新
如果更新失败,您可以尝试更正问题,然后再次运行 update.sh。您可以多次运行更新,它会从上次中断的位置继续更新。
如果故障需要您将更新回滚到先前版本,请参阅 4.18.01 回滚过程了解详情。
日志记录更新信息
默认情况下,update.sh 实用程序会将日志信息写入:
/opt/apigee/var/log/apigee-setup/update.log
如果运行 update.sh 实用程序的用户无权访问该目录,则该实用程序会将日志写入 /tmp 目录,文件名为 update_username.log。
如果用户无权访问 /tmp,则 update.sh 实用程序会失败。
零停机时间更新
零停机时间更新或滚动更新可让您在不关闭 Edge 的情况下更新 Edge 安装。
只有 5 节点及更大规模的配置才能实现零停机时间更新。
实现零停机时间升级的关键在于,一次从负载均衡器中移除一个路由器。然后,您需要更新路由器以及与路由器位于同一台机器上的任何其他组件,再将路由器重新添加到负载均衡器。
- 按照下文“机器更新顺序”中所述,以正确的顺序更新安装中的机器。
- 需要更新路由器时,请选择任意一个路由器并使其无法访问,如启用/停用服务器(消息处理器/路由器)可访问性中所述。
- 更新所选路由器以及与该路由器位于同一机器上的所有其他 Edge 组件。 所有 Edge 配置都会在同一节点上显示路由器和消息处理器。
- 使路由器再次可访问。
- 对剩余的路由器重复第 2 步到第 4 步。
- 继续更新安装中的所有剩余机器。
在更新之前/之后,请注意以下事项:
- 在组合的路由器和消息处理器节点上:
- 更新前 - 执行以下操作:
- 使路由器无法访问。
- 使消息处理器无法访问。
- 更新后 - 执行以下操作:
- 使消息处理器可访问。
- 确保路由器可访问。
- 更新前 - 执行以下操作:
- 在单个路由器节点上:
- 在更新之前,请使路由器无法访问。
- 更新后,使路由器可访问。
- 在单个消息处理器节点上:
- 在更新之前,请使消息处理器无法访问。
- 更新后,使消息处理器可访问。
使用静默配置文件
您必须向更新命令传递静默配置文件。静默配置文件应与您用于安装 Edge 4.16.09 的文件相同。
在具有外部互联网连接的节点上更新到 4.18.01 的过程
请按照以下步骤更新节点上的 Edge 组件:
- 如果您目前使用的是 Postgres 主备复制,请按照上文安装新的 Postgres 备用节点中所述安装新的 Postgres 备用节点。
- 如果存在,请停用配置为在 Cassandra 上执行修复操作的所有 CRON 作业,直到更新完成。
- 以 root 身份登录节点,以安装 Edge RPM。
注意:虽然 RPM 安装需要根访问权限,但您可以在没有根访问权限的情况下执行 Edge 配置。 - 安装 yum-utils 和 yum-plugin-priorities:
> sudo yum install yum-utils
> sudo yum install yum-plugin-priorities - 按照安装 Edge apigee-setup 实用程序中的说明停用 SELinux。
- 如上所述,启用 EPEL 代码库。
- 如果您要在 Oracle 7.x 上安装,请运行以下命令:
> sudo yum-config-manager --enable ol7_optional_latest - 如果您在 AWS 上安装,请运行以下 yum-configure-manager 命令:
> yum update rh-amazon-rhui-client.noarch
> sudo yum-config-manager --enable rhui-REGION-rhel-server-extras rhui-REGION-rhel-server-optional - 将 Edge 4.18.01 bootstrap_4.18.01.sh 文件下载到 /tmp/bootstrap_4.18.01.sh:
> curl https://software.apigee.com/bootstrap_4.18.01.sh -o /tmp/bootstrap_4.18.01.sh - 安装 Edge 4.18.01 apigee-service 实用程序和依赖项:
> sudo bash /tmp/bootstrap_4.18.01.sh apigeeuser=uName apigeepassword=pWord
其中 uName:pWord 是您从 Apigee 收到的用户名和密码。如果您省略 pWord,系统会提示您输入该参数。
默认情况下,安装程序会检查您是否已安装 Java 1.8。如果您没有安装,它会为您安装。使用 JAVA_FIX 选项指定如何处理 Java 安装。JAVA_FIX 采用以下值:
I = 安装 OpenJDK 1.8(默认)
C = 继续,不安装 Java
Q = 退出。对于此选项,您必须自行安装 Java。 - 使用 apigee-service 更新 apigee-setup 实用程序:
> /opt/apigee/apigee-service/bin/apigee-service apigee-setup update - 更新管理服务器上的 apigee-validate 实用程序:
> /opt/apigee/apigee-service/bin/apigee-service apigee-validate update - 更新 apigee-provision 实用程序:
> /opt/apigee/apigee-service/bin/apigee-service apigee-provision update - 按照下文“机器更新顺序”中所述的顺序在节点上运行更新实用程序:
> /opt/apigee/apigee-setup/bin/update.sh -c component -f configFile
对配置文件的唯一要求是,“apigee”用户必须能够访问或读取配置文件。
使用“-c”选项指定要更新的组件。可能组件的列表包括:
ldap = OpenLDAP
cs = Cassandra
zk = Zookeeper
qpid = qpidd
ps = postgresql
edge =除 Edge 界面之外的所有 Edge 组件:Management Server、消息处理器、Router、QPID Server、Postgres Server
ui = Edge 界面
all = 更新机器上的所有组件(仅用于 Edge aio 安装配置文件或 API BaaS asa 安装配置文件)
e = ElasticSearch
b = API BaaS Stack
p = API BaaS Portal
ebp = 同一节点上的 ElasticSearch、API BaaS Stack 和 API BaaS Portal - 通过在管理服务器上运行 apigee-validate 实用程序来测试更新,如测试安装中所述。
- 如果您安装了新的 Postgres 备用节点,请按照上文停用 Postgres 节点中所述停用该节点。
如需在稍后回滚更新,请使用 4.18.01 回滚过程中所述的过程。
从本地代码库更新到 4.18.01 的过程
如果您的 Edge 节点位于防火墙后面,或者以其他方式禁止通过互联网访问 Apigee 代码库,则您可以从 Apigee 代码库的本地代码库或镜像执行更新。
创建本地 Edge 代码库后,您可以通过以下两种方式从本地代码库更新 Edge:
- 创建代码库的 .tar 文件,将 .tar 文件复制到节点,然后从 .tar 文件更新 Edge。
- 在具有本地代码库的节点上安装网络服务器,以便其他节点可以访问该代码库。 Apigee 提供了 Nginx Web 服务器供您使用,您也可以使用自己的 Web 服务器。
如需从本地 4.18.01 代码库进行更新,请执行以下操作:
- 如果您目前使用的是 Postgres 主备复制,请按照上文安装新的 Postgres 备用节点中的说明安装新的 Postgres 备用节点。
- 按照安装 Edge apigee-setup 实用程序中的“创建本地 Apigee 代码库”中所述,创建本地 4.18.01 代码库。
注意:如果您已有 4.16.09 代码库,则可以向其中添加 4.18.01 代码库,如安装 Edge apigee-setup 实用程序中的“更新本地 Apigee 代码库”中所述。 -
如需从 .tar 文件安装 apigee-service,请执行以下操作:
- 在具有本地代码库的节点上,使用以下命令将本地代码库打包到名为 /opt/apigee/data/apigee-mirror/apigee-4.18.01.tar.gz 的单个.tar 文件中:
> /opt/apigee/apigee-service/bin/apigee-service apigee-mirror package - 将 .tar 文件复制到要更新 Edge 的节点。例如,将其复制到新节点上的 /tmp 目录。
- 在新节点上,将文件解压缩到 /tmp 目录:
> tar -xzf apigee-4.18.01.tar.gz
此命令会在包含 .tar 文件的目录中创建一个名为 repos 的新目录。例如 /tmp/repos。 - 从 /tmp/repos 安装 Edge apigee-service 实用程序和依赖项:
> sudo bash /tmp/repos/bootstrap_4.18.01.sh apigeeprotocol="file://" apigeerepobasepath=/tmp/repos
请注意,您在此命令中添加了 repos 目录的路径。
- 在具有本地代码库的节点上,使用以下命令将本地代码库打包到名为 /opt/apigee/data/apigee-mirror/apigee-4.18.01.tar.gz 的单个.tar 文件中:
-
如需使用 Nginx Web 服务器安装 apigee-service,请执行以下操作:
- 按照安装 Edge apigee-setup 实用程序中的“使用 Nginx Web 服务器从代码库安装”中的说明配置 Nginx Web 服务器。
- 在远程节点上,将 Edge bootstrap_4.18.01.sh 文件下载到 /tmp/bootstrap_4.18.01.sh:
> /usr/bin/curl http://uName:pWord@remoteRepo:3939/bootstrap_4.18.01.sh -o /tmp/bootstrap_4.18.01.sh
其中,uName:pWord 是您在上面为代码库设置的用户名和密码,remoteRepo 是代码库节点的 IP 地址或 DNS 名称。 - 在远程节点上,安装 Edge apigee-service 实用程序和依赖项:
> sudo bash /tmp/bootstrap_4.18.01.sh apigeerepohost=remoteRepo:3939 apigeeuser=uName apigeepassword=pWord apigeeprotocol=http://
其中 uName:pWord 是代码库用户名和密码。
- 使用 apigee-service 更新 apigee-setup 实用程序:
> /opt/apigee/apigee-service/bin/apigee-service apigee-setup update - 更新管理服务器上的 apigee-validate 实用程序。
> /opt/apigee/apigee-service/bin/apigee-service apigee-validate update - 更新 apigee-provision 实用程序:
> /opt/apigee/apigee-service/bin/apigee-service apigee-provision update - 按照下文“机器更新顺序”中所述的顺序在节点上运行更新实用程序:
> /opt/apigee/apigee-setup/bin/update.sh -c component -f configFile
对配置文件的唯一要求是配置文件必须可供“apigee”用户访问或读取。
使用“-c”选项指定要更新的组件。可能组件的列表包括:
ldap = OpenLDAP
cs = Cassandra
zk = Zookeeper
qpid = qpidd
ps = postgresql
edge =除 Edge 界面之外的所有 Edge 组件:Management Server、消息处理器、Router、QPID Server、Postgres Server
ui = Edge 界面
all = 更新机器上的所有组件(仅用于 Edge aio 安装配置文件或 API BaaS asa 安装配置文件)
e = ElasticSearch
b = API BaaS Stack
p = API BaaS Portal
ebp = 同一节点上的 ElasticSearch、API BaaS Stack 和 API BaaS Portal - 通过在管理服务器上运行 apigee-validate 实用程序来测试更新,如测试安装中所述。
- 如果您安装了新的 Postgres 备用节点,请按照上文停用 Postgres 节点中所述停用该节点。
如需在稍后回滚更新,请使用 4.18.01 回滚过程中所述的过程。
机器更新顺序
在 Edge 安装中更新机器的顺序非常重要。更新时最重要的考虑因素包括:
- 您必须先更新所有 Cassandra 和 ZooKeeper 节点,然后才能更新任何其他节点。
- 对于具有多个 Edge 组件(管理服务器、消息处理器、路由器、QPID 服务器,但不包括 Postgres 服务器)的任何机器,请使用“-c edge”选项同时更新所有这些组件。
- 如果某个步骤指定应在多台机器上执行,请按照指定的机器顺序执行。
- 没有单独的步骤来更新创收。当您指定“-c edge”选项时,它会更新。
对于单主机独立安装
- 如果您已在 Edge 上启用 SMTP,请在配置文件中设置 SMTPMAILFROM。此参数采用以下形式:
SMTPMAILFROM="My Company <myco@company.com>" - 更新 Cassandra 和 ZooKeeper:
> /opt/apigee/apigee-setup/bin/update.sh -c cs,zk -f configFile - 设置以下 iptables 规则:
> sudo iptables -A INPUT -p tcp --destination-port 5672 ! -s `hostname` -i eth0 -j DROP - 检查 Qpid 消息队列:
> qpid-stat -q
继续检查队列,直到“msg”列中的计数为 0。在 Qpid 处理完所有消息之前,您无法升级 Qpid。 - 更新 qpidd:
> /opt/apigee/apigee-setup/bin/update.sh -c qpid -f configFile - 刷新 iptables:
> sudo iptables -F - 更新 LDAP:
> /opt/apigee/apigee-setup/bin/update.sh -c ldap -f configFile - 停止 Postgres Server、Qpid Server 和 PostgreSQL:
> /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop
> /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server stop
> /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop - 更新 postgresql:
> /opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile - 更新 Postgres 数据库:
> /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql db_upgrade - 更新其余 Edge 组件:
> /opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile - 更新 Edge 界面:
> /opt/apigee/apigee-setup/bin/update.sh -c ui -f configFile
对于 2 主机独立安装
如需查看 Edge 拓扑和节点编号的列表,请参阅安装拓扑。
- 如果您已在 Edge 上启用 SMTP,请在配置文件中设置 SMTPMAILFROM。此参数采用以下形式:
SMTPMAILFROM="My Company <myco@company.com>" - 在机器 1 上更新 Cassandra 和 ZooKeeper:
> /opt/apigee/apigee-setup/bin/update.sh -c cs,zk -f configFile - 在机器 2 上设置以下 iptables 规则:
> sudo iptables -A INPUT -p tcp --destination-port 5672 ! -s `hostname` -i eth0 -j DROP - 检查机器 2 上的 Qpid 消息队列:
> qpid-stat -q
继续检查队列,直到“msg”列中的计数为 0。在 Qpid 处理完所有消息之前,您无法升级 Qpid。 - 更新机器 2 上的 qpidd:
> /opt/apigee/apigee-setup/bin/update.sh -c qpid -f configFile - 在机器 2 上刷新 iptables:
> sudo iptables -F - 在机器 1 上更新 LDAP:
> /opt/apigee/apigee-setup/bin/update.sh -c ldap -f configFile - 更新机器 1 上的 Edge 组件:
> /opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile - 更新机器 1 上的界面:
> /opt/apigee/apigee-setup/bin/update.sh -c ui -f configFile? - 更新机器 2 上的 postgresql:
- 停止 Postgres Server、Qpid 服务器和 postgresql:
> /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop
> /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server stop
> /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop - 更新 postgresql:
> /opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile - 更新 Postgres 数据库:
> /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql db_upgrade - 更新机器 2 上的 Edge 组件:
> /opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile
- 停止 Postgres Server、Qpid 服务器和 postgresql:
对于 5 主机集群安装
如需查看 Edge 拓扑和节点编号的列表,请参阅安装拓扑。
- 如果您已在 Edge 上启用 SMTP,请在配置文件中设置 SMTPMAILFROM。此参数采用以下形式:
SMTPMAILFROM="My Company <myco@company.com>" - 确保您已按照上文安装新的 Postgres 备用节点中的说明安装了新的 Postgres 备用节点。
- 在机器 1、2 和 3 上更新 Cassandra 和 ZooKeeper:
> /opt/apigee/apigee-setup/bin/update.sh -c cs,zk -f configFile - 在机器 4 上设置以下 iptables 规则:
> sudo iptables -A INPUT -p tcp --destination-port 5672 ! -s `hostname` -i eth0 -j DROP - 检查机器 4 上的 Qpid 消息队列:
> qpid-stat -q
继续检查队列,直到“msg”列中的计数为 0。在 Qpid 处理完所有消息之前,您无法升级 Qpid。 - 更新机器 4 上的 qpidd:
> /opt/apigee/apigee-setup/bin/update.sh -c qpid -f configFile - 在机器 4 上刷新 iptables:
> sudo iptables -F - 在机器 5 上重复第 4 步到第 7 步。
- 在机器 1 上更新 LDAP:
> /opt/apigee/apigee-setup/bin/update.sh -c ldap -f configFile - 更新机器 1、2、3 上的 Edge 组件:
> /opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile - 更新机器 1 上的界面:
> /opt/apigee/apigee-setup/bin/update.sh -c ui -f configFile - 更新机器 4 和 5:
- 停止机器 4 上的 Postgres 服务器和 Qpid 服务器:
> /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop
> /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server stop - 停止机器 5 上的 Postgres 服务器、Qpid 服务器和 postgresql:
> /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop
> /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server stop
> /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop - 在为回滚添加的新备用节点上停止 Postgres 服务器和 postgresql:
> /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop
> /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop - 在机器 4 上更新 PostgreSQL:
> /opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile - 更新机器 4 上的 Postgres 数据库(仅限 Postgres 主数据库):
> /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql db_upgrade - 更新机器 5 上的 PostgreSQL:
> /opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile - 在机器 4 和 5 上启动 Postgres 服务器和 Qpid 服务器:
> /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server start
> /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server start - 在机器 5 上运行以下命令,将 Postgres 配置为备用节点:
> cd /opt/apigee/data/apigee-postgresql/pgdata
> rm -rf *
> /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile - 在两台服务器上运行以下脚本,验证复制状态。系统应在两个服务器上显示相同的结果,以确保成功复制:
在机器 4(主节点)上,运行以下命令:
> /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master
验证它是否显示为主节点。
在机器 5(备用节点)上:
> /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-standby
验证它是否显示为备用节点。
- 停止机器 4 上的 Postgres 服务器和 Qpid 服务器:
- 更新机器 4、5 上的 Edge 组件:
> /opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile - 确保使用上述停用 Postgres 节点中的过程停用新的备用节点。
对于 9 主机集群安装
如需查看 Edge 拓扑和节点编号的列表,请参阅安装拓扑。
- 如果您已在 Edge 上启用 SMTP,请在配置文件中设置 SMTPMAILFROM。此参数采用以下形式:
SMTPMAILFROM="My Company <myco@company.com>" - 确保您已按照上文安装新的 Postgres 备用节点中的说明安装了新的 Postgres 备用节点。
- 在机器 1、2 和 3 上更新 Cassandra 和 ZooKeeper:
> /opt/apigee/apigee-setup/bin/update.sh -c cs,zk -f configFile - 在机器 6 上设置以下 iptables 规则:
> sudo iptables -A INPUT -p tcp --destination-port 5672 ! -s `hostname` -i eth0 -j DROP - 检查机器 6 上的 Qpid 消息队列:
> qpid-stat -q
继续检查队列,直到“msg”列中的计数为 0。在 Qpid 处理完所有消息之前,您无法升级 Qpid。 - 在机器 6 上更新 qpidd:
> /opt/apigee/apigee-setup/bin/update.sh -c qpid -f configFile - 在机器 6 上刷新 iptables:
> sudo iptables -F - 在机器 7 上重复第 4 步到第 7 步。
- 在机器 1 上更新 LDAP:
> /opt/apigee/apigee-setup/bin/update.sh -c ldap -f configFile - 按以下顺序更新机器 6、7、1、4 和 5 上的 Edge 组件:
> /opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile - 更新机器 1 上的界面:
> /opt/apigee/apigee-setup/bin/update.sh -c ui -f configFile - 更新机器 8 和 9:
- 在机器 8 上停止 Postgres 服务器:
> /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop - 停止机器 9 上的 Postgres 服务器和 postgresql:
> /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop
> /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop - 在机器 6 和 7 上停止 Qpid 服务器:
> /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server stop - 在为回滚添加的新备用节点上停止 Postgres 服务器和 postgresql:
> /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop
> /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop - 在机器 8 上更新 postgresql:
> /opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile - 更新机器 8 上的 Postgres 数据库(仅限 Postgres 主数据库):
> /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql db_upgrade - 更新机器 9 上的 postgresql:
> /opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile - 在机器 8 和 9 上启动 Postgres 服务器:
> /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server start - 在机器 6 和 7 上启动 Qpid 服务器:
> /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server start - 在机器 9 上运行以下命令,将 Postgres 配置为备用节点:
> cd /opt/apigee/data/apigee-postgresql/pgdata
> rm -rf *
> /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile - 在两台服务器上运行以下脚本,验证复制状态。系统应在两台服务器上显示相同的结果,以确保成功复制:
在机器 8(主节点)上,运行以下命令:
> /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master
验证它是否显示为主节点。
在机器 9(备用节点)上:
> /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-standby
验证它是否显示为备用节点。
- 在机器 8 上停止 Postgres 服务器:
- 更新机器 8 和 9 上的 Edge 组件:
> /opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile - 确保使用上述停用 Postgres 节点中的过程停用新的备用节点。
对于 13 主机集群安装
如需查看 Edge 拓扑和节点编号的列表,请参阅安装拓扑。
- 如果您已在 Edge 上启用 SMTP,请在配置文件中设置 SMTPMAILFROM。此参数采用以下形式:
SMTPMAILFROM="My Company <myco@company.com>" - 确保您已按照上文安装新的 Postgres 备用节点中的说明安装了新的 Postgres 备用节点。
- 在机器 1、2 和 3 上更新 Cassandra 和 ZooKeeper:
> /opt/apigee/apigee-setup/bin/update.sh -c cs,zk -f configFile - 在机器 12 上设置以下 iptables 规则:
> sudo iptables -A INPUT -p tcp --destination-port 5672 ! -s `hostname` -i eth0 -j DROP - 检查机器 12 上的 Qpid 消息队列:
> qpid-stat -q
继续检查队列,直到“msg”列中的计数为 0。在 Qpid 处理完所有消息之前,您无法升级 Qpid。 - 更新机器 12 上的 qpidd:
> /opt/apigee/apigee-setup/bin/update.sh -c qpid -f configFile - 在机器 12 上刷新 iptables:
> sudo iptables -F - 在机器 13 上重复第 4 步到第 7 步。
- 在机器 4 和 5 上更新 LDAP:
> /opt/apigee/apigee-setup/bin/update.sh -c ldap -f configFile - 按以下顺序更新机器 12、13、6、7、10 和 11 上的 Edge 组件:
> /opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile - 更新机器 6 和 7 上的界面:
> /opt/apigee/apigee-setup/bin/update.sh -c ui -f configFile? - 更新机器 8 和 9:
- 在机器 8 上停止 Postgres 服务器:
> /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop - 停止机器 9 上的 Postgres 服务器和 postgresql:
> /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop
> /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop - 在机器 12 和 13 上停止 Qpid 服务器:
> /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server stop - 在为回滚添加的新备用节点上停止 Postgres 服务器和 postgresql:
> /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop
> /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop - 在机器 8 上更新 postgresql:
> /opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile - 更新机器 8 上的 Postgres 数据库(仅限 Postgres 主数据库):
> /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql db_upgrade - 更新机器 9 上的 postgresql:
> /opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile - 在机器 8 和 9 上启动 Postgres 服务器:
> /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server start - 在机器 12 和 13 上启动 Qpid 服务器:
> /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server start - 在机器 9 上运行以下命令,将 Postgres 配置为备用节点:
> cd /opt/apigee/data/apigee-postgresql/pgdata
> rm -rf *
> /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile - 在两台服务器上运行以下脚本,验证复制状态。系统应在两台服务器上显示相同的结果,以确保成功复制:
在机器 8(主节点)上,运行以下命令:
> /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master
验证它是否显示为主节点。
在机器 9(备用节点)上:
> /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-standby
验证它是否显示为备用节点。
- 在机器 8 上停止 Postgres 服务器:
- 更新机器 8 和 9 上的 Edge 组件:
> /opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile?? - 确保使用上述停用 Postgres 节点中的过程停用新的备用节点。
对于 12 主机集群安装
如需查看 Edge 拓扑和节点编号的列表,请参阅安装拓扑。
- 如果您已在 Edge 上启用 SMTP,请在配置文件中设置 SMTPMAILFROM。此参数采用以下形式:
SMTPMAILFROM="My Company <myco@company.com>" - 确保您已按照上文安装新的 Postgres 备用节点中的说明安装了新的 Postgres 备用节点。
- 更新 Cassandra 和 ZooKeeper:
- 在数据中心 1 的机器 1、2 和 3 上:
> /opt/apigee/apigee-setup/bin/update.sh -c cs,zk -f configFile - 在数据中心 2 中的机器 7、8 和 9 上
> /opt/apigee/apigee-setup/bin/update.sh -c cs,zk -f configFile
- 在数据中心 1 的机器 1、2 和 3 上:
- 更新 qpidd:
- 数据中心 1 中的机器 4、5
- 在机器 4 上设置以下 iptables 规则:
> sudo iptables -A INPUT -p tcp --destination-port 5672 ! -s `hostname` -i eth0 -j DROP - 检查机器 4 上的 Qpid 消息队列:
> qpid-stat -q
继续检查队列,直到“msg”列中的计数为 0。在 Qpid 处理完所有消息之前,您无法升级 Qpid。 - 更新机器 4 上的 qpidd:
> /opt/apigee/apigee-setup/bin/update.sh -c qpid -f configFile - 在机器 4 上刷新 iptables:
> sudo iptables -F - 在机器 5 上重复第 1 步到第 4 步。
- 在机器 4 上设置以下 iptables 规则:
- 数据中心 2 中的机器 10、11
- 在机器 10 上设置以下 iptables 规则:
> sudo iptables -A INPUT -p tcp --destination-port 5672 ! -s `hostname` -i eth0 -j DROP - 检查机器 10 上的 Qpid 消息队列:
> qpid-stat -q
继续检查队列,直到“msg”列中的计数为 0。在 Qpid 处理完所有消息之前,您无法升级 Qpid。 - 更新机器 10 上的 qpidd:
> /opt/apigee/apigee-setup/bin/update.sh -c qpid -f configFile - 在机器 10 上刷新 iptables:
> sudo iptables -F - 在机器 11 上重复第 1 步到第 4 步。
- 在机器 10 上设置以下 iptables 规则:
- 数据中心 1 中的机器 4、5
- 更新 LDAP:
- 数据中心 1 中的机器 1
> /opt/apigee/apigee-setup/bin/update.sh -c ldap -f configFile - 数据中心 2 中的机器 7
> /opt/apigee/apigee-setup/bin/update.sh -c ldap -f configFile
- 数据中心 1 中的机器 1
- 更新 Edge 组件:
- 数据中心 1 中的机器 4、5、1、2、3
> /opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile - 数据中心 2 中的机器 10、11、7、8、9
> /opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile
- 数据中心 1 中的机器 4、5、1、2、3
- 更新界面:
- 数据中心 1 中的机器 1:
> /opt/apigee/apigee-setup/bin/update.sh -c ui -f configFile - 数据中心 2 中的机器 7:
> /opt/apigee/apigee-setup/bin/update.sh -c ui -f configFile??
- 数据中心 1 中的机器 1:
- 更新数据中心 1 中的机器 6 和数据中心 2 中的机器 12:
- 在机器 6 上停止 Postgres 服务器:
> /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop - 在机器 12 上停止 Postgres 服务器和 postgresql:
> /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop
> /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop - 在机器 4、5、10 和 11 上停止 Qpid 服务器:
> /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server stop - 在为回滚添加的新备用节点上停止 Postgres 服务器和 postgresql:
> /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop
> /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop - 更新机器 6 上的 postgresql:
> /opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile - 更新机器 6 上的 Postgres 数据库(仅限 Postgres 主节点):
> /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql db_upgrade - 更新机器 12 上的 postgresql:
> /opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile - 在机器 6 和 12 上启动 Postgres 服务器:
> /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server start - 在机器 4、5、10 和 11 上启动 Qpid 服务器:
> /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server start - 在机器 12 上运行以下命令,将 Postgres 配置为备用节点:
> cd /opt/apigee/data/apigee-postgresql/pgdata
> rm -rf *
> /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile - 在两台服务器上运行以下脚本,验证复制状态。系统应在两台服务器上显示相同的结果,以确保复制成功:
在机器 6(主节点)上,运行以下命令:
> /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master
验证它是否显示为主节点。
在机器 12(备用节点)上:
> /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-standby
验证它是否显示为备用节点。
- 在机器 6 上停止 Postgres 服务器:
- 更新机器 6 和 12 上的 Edge 组件:
> /opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile - 确保使用上述停用 Postgres 节点中的过程停用新的备用节点。
对于 7 主机 API BaaS 安装
:# For a single data center, specify the same value as BAAS_CASS_LOCALDC. BAAS_CASS_DC_LIST="dc-1" # Defines the initial contact points for members of the BaaS cluster. # Specify the IP address of no more than two Stack nodes. BAAS_CLUSTER_SEEDS="dc-1:$IP4,dc-1:$IP5" # Specify the from address of generated emails. SMTPMAILFROM="My Company <myco@company.com>"
如需查看完整的配置文件示例,请参阅 API BaaS 安装。
您还必须确保所有 Stack 节点上的端口 2551 均已打开,以便所有其他 Stack 节点访问。
如需查看 Edge 拓扑和节点编号的列表,请参阅安装拓扑。
- 更新机器 5、6 和 7 上的 Cassandra:
> /opt/apigee/apigee-setup/bin/update.sh -c cs -f configFile -
在机器 1、2 和 3 上更新 ElasticSearch 和 API BaaS 堆栈:
> /opt/apigee/apigee-setup/bin/update.sh -c e,b -f configFile - 在机器 4 上更新 API BaaS 门户:
> /opt/apigee/apigee-setup/bin/update.sh -c p -f configFile
对于 10 主机 API BaaS 安装
:# For a single data center, specify the same value as BAAS_CASS_LOCALDC. BAAS_CASS_DC_LIST="dc-1" # Defines the initial contact points for members of the BaaS cluster. # Specify the IP address of no more than two Stack nodes. BAAS_CLUSTER_SEEDS="dc-1:$IP4,dc-1:$IP5" # Specify the from address of generated emails. SMTPMAILFROM="My Company <myco@company.com>"
如需查看完整的配置文件示例,请参阅 API BaaS 安装。
您还必须确保所有 Stack 节点上的端口 2551 均已打开,以便所有其他 Stack 节点访问。
如需查看 Edge 拓扑和节点编号的列表,请参阅安装拓扑。
- 更新机器 8、9 和 10 上的 Cassandra:
> /opt/apigee/apigee-setup/bin/update.sh -c cs -f configFile - 在机器 1、2 和 3 上更新 ElasticSearch:
> /opt/apigee/apigee-setup/bin/update.sh -c e -f configFile - 在机器 4、5 和 6 上更新 API BaaS 堆栈:
> /opt/apigee/apigee-setup/bin/update.sh -c b -f configFile - 在机器 7 上更新 API BaaS 门户:
> /opt/apigee/apigee-setup/bin/update.sh -c p -f configFile
对于非标准安装
如果您采用的是非标准安装,请按以下顺序更新 Edge 组件:
- ZooKeeper
- Cassandra
- qpidd、ps
- LDAP
- Edge,即所有节点上的“-c edge”配置文件,顺序如下:具有 Qpid 服务器、Postgres 服务器、管理服务器、消息处理器和路由器的节点。
注意:如果节点同时安装了 Qpid 服务器和 Postgres 服务器,请运行“-c edge”配置文件步骤。 - Edge 界面