6.2. 在 Karaf 上升级 Fuse Standalone


以下说明指导您在 Apache Karaf 上升级 Fuse。在开始升级过程前,请确保所有先决条件都已完成。

先决条件

  • 在升级前,确保您已在 Apache Karaf 安装上进行 Fuse 的完整备份。
  • 启动容器(如果尚未运行)。
提示

如果容器在后台运行(或远程运行),请使用 SSH 控制台客户端 bin/client 连接到容器。

  • 通过调用 patch:add 命令将升级安装程序文件添加到容器环境中。例如,要添加 fuse-karaf-7.9.0.fuse-790071-redhat-00001.zip 升级安装程序文件:

    patch:add file:///path/to/fuse-karaf-7.9.0.fuse-790071-redhat-00001.zip
    注意

    patch:find 命令只能用于查找和添加容器环境的最新热修复补丁 ; 它不能被应用完整的升级补丁。

    流程

    1. 运行 patch:update 命令。不需要重启容器。

      karaf@root()> patch:update
      Current patch mechanism version: 7.1.0.fuse-710023-redhat-00001
      New patch mechanism version detected: 7.2.0.fuse-720035-redhat-00001
      Uninstalling patch features in version 7.1.0.fuse-710023-redhat-00001
      Installing patch features in version 7.2.0.fuse-720035-redhat-00001
    2. 调用 patch:list 命令来显示升级安装程序列表。在此列表中,[name] 标题下的条目是升级 ID。例如:

      karaf@root()> patch:list
      [name]                                    [installed] [rollup] [description]
      fuse-karaf-7.2.0.fuse-720035-redhat-00001 false       true     fuse-karaf-7.2.0.fuse-720035-redhat-00001
    3. 通过调用 patch:simulate 命令并为您要应用的升级指定升级 ID 来模拟升级,如下所示:

      karaf@root()> patch:simulate fuse-karaf-7.2.0.fuse-720035-redhat-00001
      INFO : org.jboss.fuse.modules.patch.patch-management (226): Installing rollup patch "fuse-karaf-7.2.0.fuse-720035-redhat-00001"
      ========== Repositories to remove (9):
       - mvn:io.hawt/hawtio-karaf/2.0.0.fuse-710018-redhat-00002/xml/features
      ...
      ========== Repositories to add (9):
       - mvn:io.hawt/hawtio-karaf/2.0.0.fuse-720044-redhat-00001/xml/features
      ...
      ========== Repositories to keep (10):
       - mvn:org.apache.activemq/artemis-features/2.4.0.amq-711002-redhat-1/xml/features
      ...
      ========== Features to update (100):
      [name]                         [version]                         [new version]
      aries-blueprint                4.2.0.fuse-710024-redhat-00002    4.2.0.fuse-720061-redhat-00001
      ...
      ========== Bundles to update as part of features or core bundles (100):
      [symbolic name]                                                [version]                         [new location]
      io.hawt.hawtio-log                                             2.0.0.fuse-710018-redhat-00002    mvn:io.hawt/hawtio-log/2.0.0.fuse-720044-redhat-00001
      ...
      ========== Bundles to reinstall as part of features or core bundles (123):
      [symbolic name]                                                [version]                         [location]
      com.fasterxml.jackson.core.jackson-annotations                 2.8.11                            mvn:com.fasterxml.jackson.core/jackson-annotations/2.8.11
      ...
      Simulation only - no files and runtime data will be modified.
      karaf@root()>

      这会生成执行升级时将对容器进行的更改日志,但不会对容器进行任何更改。检查模拟日志,以了解要对容器进行的更改。

    4. 通过调用 patch:install 命令并为您要应用的升级指定升级 ID 来升级容器。例如:

      karaf@root()> patch:install fuse-karaf-7.9.0.fuse-790071-redhat-00001
    5. 通过搜索其中一个升级工件来验证升级。例如,如果您刚刚将 Fuse 7.1.0 升级到 Fuse 7.2.0,您可以搜索构建号 790071 的捆绑包,如下所示:

      karaf@root()> bundle:list -l | grep 790071
       22 │ Active │  80 │ 7.9.0.fuse-790071-redhat-00001  │ mvn:org.jboss.fuse.modules/fuse-pax-transx-tm-narayana/7.9.0.fuse-790071-redhat-00001
      188 │ Active │  80 │ 7.9.0.fuse-790071-redhat-00001  │ mvn:org.jboss.fuse.modules.patch/patch-commands/7.9.0.fuse-790071-redhat-00001
注意

升级后,在重启容器时,您还会在 Welcome banner 中看到新版本和构建号。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.