更新客户托管的 Looker 实例

如需获取最新的 bug 修复和新功能,请按照以下手动步骤更新客户托管的 Looker 实例。

在继续操作之前,请注意,回滚到较低版本可能会导致严重问题。相反,如果您需要还原,请始终从备份中还原。如果您运行的是 Looker 集群,请逐个完整更新每个节点。此过程还假定您的实例包含在初始设置期间安装的启动脚本。

  1. 按照下载 Looker JAR 文件文档页面中的说明,下载最新版本的 Looker JAR 文件。
  2. 以 looker 用户身份从 shell 停止 Looker 进程:

    sudo su - looker
    cd /home/looker/looker
    ./looker stop
    

    如果您要更新 Looker 集群,请重复此过程,以便在每个节点上停止 Looker。

  3. 备份整个 Looker 目录,包括隐藏目录(如需了解详情,请参阅恢复备份文档页面)。

  4. 如果您已将 Looker 的默认内存数据库迁移到外部 MySQL 数据库,或者您正在更新 Looker 集群,请备份 MySQL 数据库。

  5. 在更新 Looker 之前,还请检查您的 MySQL 服务器参数和后端数据库默认排序规则是否已设置为 utf8mb4_general_ci。否则,您可能会在更新后看到排序规则不匹配错误。

  6. 已将 looker-x.x.x.jar 重命名为 looker.jar,并将 looker-dependencies-x.x.x.jar 重命名为 looker-dependencies.jar。将 looker.jar 和 looker-dependencies.jar 复制到服务器目录 (/home/looker/looker/looker.jar)。这两个文件必须位于同一目录中。

  7. 以 looker 用户身份从 shell 启动 Looker 进程:

    如果您要更新 Looker 集群,请仅在一个节点上启动 Looker 进程。在第一个节点完成更新流程之前,请勿在其他节点上启动 Looker。

    ./looker start
    

    您还可以使用 java -jar 命令启动 Looker。只要依赖项 JAR 与核心 JAR 一起位于 ./looker 目录中,核心 JAR 就会找到依赖项 JAR。

    此外,如果您更愿意使用 Looker 提供的启动脚本,可以在以下网址找到启动脚本:https://github.com/looker/customer-scripts。

    更新 Looker 版本时,Looker 还必须更新其内部数据库。数据库更新通常需要不到 5 分钟的时间,但有时可能比 Looker 启动过程更长。如果您在内部数据库仍在更新时尝试启动 Looker,守护进程将在 6 分钟后超时,并显示消息“等待 Looker 启动超时”。

    在更新期间,所需的迁移最多可能需要一个小时,尤其是在您跳过多个版本时。如果您收到此出错提示,请等待更新完成并启动 Looker。您可以使用以下命令确认更新过程是否仍在运行:

    ps -f $(pgrep -f -- '-jar looker.jar')
    

    在内部数据库更新过程中停止并重启 Looker 进程可能会损坏内部数据库。如果发生这种情况,请从现有备份中恢复 Looker,然后再次执行更新。

  8. 如果您要更新 Looker 集群,请等到第一个节点完成更新流程,然后再在其他节点上启动 Looker。