更新客户托管的 Looker 实例

一旦有新的 Looker 版本发布,您就会收到通知。建议您定期更新 Looker,以及时修复 bug 并及时获得新功能。

如果您有 Looker 实例的集群,则必须在更新其他实例之前完全更新单个节点。

此更新过程假设您的 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-x.x.x.jar 重命名为 looker.jar,并将 looker-dependencies-x.x.x.jar 重命名为 looker-dependencies.jar。将 looker.jarlooker-dependencies.jar 复制到服务器目录 (/home/looker/looker/looker.jar)。这两个文件必须位于同一目录中。

  6. looker 用户的身份从 shell 启动 Looker 进程:

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

    ./looker start
    

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

    此外,如果您想使用 Looker 提供的启动脚本,可以在以下位置找到启动脚本:https://github.com/looker/customer-scripts

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

    在更新期间,所需的迁移最长可能需要一个小时才能完成,如果您要跳过多个版本,更是如此。如果您收到此错误消息,请等待更新完成并开始 Looker。您可以使用以下命令确认更新过程是否仍在运行:

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

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

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