更新 IBM Db2 Warehouse(Windows 或 Mac)

执行更新时,将会自动保留所有数据和设置。

开始之前

确保硬件满足Windows 或 Mac 的 IBM Db2 Warehouse 先决条件中的所有先决条件。另外,如果要使用 Docker for Windows 或 Docker for Mac 应用程序,请确保它正在运行。

清空浏览器高速缓存。

关于此任务

要执行本任务,您必须具有管理权限。

如果已安装 Docker for Mac 应用程序,请从终端执行下列步骤。如果要使用 Docker for Windows 应用程序,请以管理方式,在 Windows PowerShell 中执行下列步骤。如果已安装 Docker Toolbox 而非以上其中一个应用程序,请从 Docker CLI 提示符(可使用 Docker Quickstart Terminal 桌面快捷方式获得)执行下列步骤。

过程

  1. 如果要使用来自 Docker Store 的容器,请发出以下命令:
    docker login -u=docker_id -p='password'
  2. 如果要使用来自 IBM® Marketplace Web 站点的容器,请发出以下命令:
    docker load -i db2wh_v3.9.0_devc.tar.gz
  3. 在节点上,发出下列其中一个命令。此步骤有助于最大限度缩短系统停机时间。
    • 对于 Db2 Warehouse Developer Edition 容器:
      docker pull store/ibmcorp/db2wh_ce:v3.9.0-db2wh_devc-linux
      
    • 对于 Db2 Warehouse Enterprise Edition 容器:
      docker pull store/ibmcorp/db2wh_ee:v3.9.0-db2wh-linux
      
  4. 停止所有连接到 Db2 Warehouse 数据库的应用程序。
  5. 关闭 Web 控制台。
  6. 通过发出以下命令,停止 Db2 Warehouse 服务:
    docker exec -it Db2wh stop
  7. 通过发出以下命令,停止 Db2 Warehouse 容器:
    docker stop Db2wh
  8. 通过发出以下命令,将当前版本的容器重命名:
    docker rename Db2wh Db2wh-<version#>
  9. 如果已使用 Kitematic 来部署 Db2 Warehouse,请在首次更新时执行下列子步骤。在后续更新期间,请勿执行这些子步骤。
    1. 通过发出以下命令,创建 Docker 网络:
      docker network create db2wh_net
    2. 通过发出以下命令,创建 Docker 卷:
      docker volume create db2wh_vol
    3. 使用 SSH 登录缺省的 docker-machine VM:
      docker-machine.exe ssh default
    4. 通过发出以下命令,将数据从旧的绑定装载迁移到新的卷数据路径:
      vol_mnt="$(blkid -o list | awk '/boot2docker-data/ {print $4}')"
      sudo mv ${vol_mnt}/clusterfs/* ${vol_mnt}/var/lib/docker/volumes/db2wh_vol/_data
    5. 退出 docker-machine SSH 会话。
    6. 通过发出以下命令,重新启动 docker-machine VM。由于以下 Docker 问题,必须重新启动该 VM:“cgroups:找不到 cgroup 装载目标:未知。”
      docker-machine restart default 
    7. 退出 Docker CLI 终端。
    8. 重新登录 Docker CLI 终端。
  10. 通过发出下列其中一个命令,启动新容器。如有必要,请在部署期间使用一个或多个 -e 标志来设置配置选项。有关更多信息,请参阅配置 IBM Db2 Warehouse
    • 对于 Db2 Warehouse Developer Edition 容器:
      docker run -itd -p 8443:8443 -p 50000-50001:50000-50001 --net=db2wh_net --privileged=true --name=Db2wh -v db2wh_vol:/mnt/bludata0 -v db2wh_vol:/mnt/blumeta0 store/ibmcorp/db2wh_ce:v3.9.0-db2wh_devc-linux
      
    • 对于 Db2 Warehouse Enterprise Edition 容器:
      docker run -itd -p 8443:8443 -p 50000-50001:50000-50001 --net=db2wh_net --privileged=true --name=Db2wh -v db2wh_vol:/mnt/bludata0 -v db2wh_vol:/mnt/blumeta0 store/ibmcorp/db2wh_ee:v3.9.0-db2wh-linux
      
  11. 通过发出以下命令,检查更新是在顺利进行还是已完成:
    docker logs --follow Db2wh
    部署完成后,您应该会看到一条消息,指出已成功部署 Db2 Warehouse,并提供控制台 URL 和登录信息。
  12. 按 Ctrl+C,退出 Docker 日志。
  13. 如果更新失败,请执行下列步骤:
    1. 通过发出以下命令,移除失败的更新容器:
      docker rm Db2wh
    2. 如果您使用的是 Docker for Windows 或 Docker for Mac 应用程序,请重新启动 Docker,如下所示:
      1. 右键单击鲸鱼图标。
      2. 单击退出 Docker
      3. 通过单击 Docker for Mac 或 Docker for Windows 应用程序,重新启动 Docker 引擎。
    3. 如果您使用的是 Docker Toolbox,请发出以下命令以重新启动 docker-machine VM:
      docker-machine restart default
    4. 从步骤 10 开始重试更新。

下一步做什么

确认 Db2 Warehouse 更新成功后,即可将旧映像和容器删除。