由客户托管的渲染软件安装

Looker 要求名为 Chromium 的渲染软件以图片格式(HTML 和 PNG 或 PDF 文件)发送或下载数据,并使用纸张大小展开表格等功能。本页面介绍了如何在客户托管的 Looker 实例上安装渲染软件。

已为 Looker 托管的实例安装 Chromium。

Chromium 呈现会等待网页请求的所有资源处理完毕,然后再发送“finished”信号,以提示 Looker 生成所呈现的内容。由于这些资源请求的数量和频率的影响,某些网络可能会错误地将请求标记为恶意请求,导致请求丢失,从而延迟渲染作业。

Chromium 项目是由 Google 发起的开源项目,旨在共享 Google Chrome 的非专有部分。

Chromium 安装要求和前提条件

Looker 支持所有主要企业 Linux 发行版的发布版本,包括 Ubuntu、Debian、RedHat、CentOS 和 Amazon Linux。本页介绍了如何在 UbuntuDebianRedHat/CentOS/Amazon Linux 上安装 Chromium。

Chromium 必须安装到托管 Looker 实例的机器上的可执行文件路径中。Looker 应用需要使用 chromium 命令或通过由 CHROMIUM_PATH 环境变量设置的自定义路径来访问 Chromium。

如需在 Looker 实例上运行 Chromium,必须使用 Chromium 86 或更高版本,但 Looker 建议专门使用 Chromium 97.x。如果您的 Looker 实例安装在 Debian 上,则 Chromium 要求使用 Debian 9(拉伸)或更高版本。

如果您要在集群的 Looker 安装中安装 Chromium,则每个节点上的 Chromium 版本必须完全相同。即使是细微的差异(例如 build 号不同),也可能会干扰 Looker 的渲染功能。

如果您的数据包含非英文字符,请在安装 Chromium 的同时安装 Google Noto 字体软件包(大小为数 GB)。如需安装此字体包,请在命令行中运行以下命令:

mkdir -p /tmp/fonts
cd /tmp/fonts
curl -O https://noto-website-2.storage.googleapis.com/pkgs/Noto-unhinted.zip
unzip Noto-unhinted.zip
mkdir -p /usr/share/fonts/opentype/noto
cp *.otf *.otc /usr/share/fonts/opentype/noto   # Ignore any *.otc not found errors
mkdir -p /usr/share/fonts/truetype/noto
cp *.ttf /usr/share/fonts/truetype/noto
chmod a+r -R /usr/share/fonts/*/noto
fc-cache -f -v

如果成功,则:

cd $HOME
rm -rf /tmp/fonts

在 Ubuntu 上安装 Chromium

Looker 应用需要使用 chromium 命令或通过由 CHROMIUM_PATH 环境变量设置的自定义路径来访问 Chromium。对于 Ubuntu 安装,您必须安装 Chromium 网络浏览器,然后设置别名,以便 Looker 应用能够找到安装。

Looker 建议在执行任何需要提升权限的步骤时使用 sudo 命令。当您以根用户身份登录时,请勿安装 Chromium。如果您在以根用户身份登录的情况下安装 Chromium,Looker 可能无法执行 PDF 或 PNG 呈现。

  1. 必须在系统中安装字体,Chromium 才能启动。您可以使用命令行界面安装字体。例如,以下命令会在 Ubuntu 16.04 LTS 上安装默认字体:

    apt-get install fonts-freefont-otf
    
  2. 如需安装 Chromium,请运行以下命令:

    apt-get update && apt-get install -y chromium-browser
    
  3. 必须将 chromium-browser 的别名设为 chromium,或导出 CHROMIUM_PATH 环境变量。如需将 chromium-browser 的别名设为 chromium,请将以下内容放入 ~/.bashrc 文件中:

    alias chromium='chromium-browser'
    

    如需让 Looker 知道此别名,请在命令行中运行以下命令:

    sudo ln -s /usr/bin/chromium-browser /usr/bin/chromium
    
  4. 设置任何可选的环境变量后,请重启 Looker 应用,以使这些变量生效。您可能还需要重启任何已打开的终端会话,或运行 source ~/.bash_profile,让终端读取新配置。

如果您尚未设置 CHROMIUM_PATH 环境变量,那么在安装 Chromium 后,您应该会收到来自 chromium --version 的有效响应;如果您已设置 CHROMIUM_PATH 环境变量,则会收到 $CHROMIUM_PATH --version

在 Debian 上安装 Chromium

Looker 建议在执行任何需要提升权限的步骤时使用 sudo 命令。当您以根用户身份登录时,请勿安装 Chromium。如果您在以根用户身份登录的情况下安装 Chromium,Looker 可能无法执行 PDF 或 PNG 呈现。

Chromium 要求使用 Debian 9(拉伸)或更高版本。

如果您的 Looker 实例使用带有准系统 Debian 安装的 Docker,请安装 procps,并确保您没有以 root 身份运行。

  1. 必须在系统中安装字体,Chromium 才能启动。您可以通过运行以下命令使用命令行界面安装字体:

    apt-get install fonts-freefont-otf
    
  2. 如需安装 Chromium,请运行以下命令:

    apt-get update && apt-get install -y chromium
    
  3. 设置任何可选的环境变量后,请重启 Looker 应用,以使这些变量生效。您可能还需要重启任何已打开的终端会话,或运行 source ~/.bash_profile,让终端读取新配置。

如果您尚未设置 CHROMIUM_PATH 环境变量,那么在安装 Chromium 后,您应该会收到来自 chromium --version 的有效响应;如果您已设置 CHROMIUM_PATH 环境变量,则会收到 $CHROMIUM_PATH --version

可选的 Chromium 环境变量

  • CHROMIUM_PATH:Chromium 二进制文件的路径,默认为 chromium

  • CHROMIUM_PID_DIR:库可用于存储 Chromium PID 文件的路径,默认为 Looker 应用工作目录中的 chromium_pid_files

  • CHROMIUM_PORT_RANGE_STARTCHROMIUM_PORT_RANGE_END:Chromium 应用需要通过一系列端口在本地机器上的进程之间进行通信。默认范围为 40000-40500,但您可以通过设置这两个环境变量来覆盖此默认值。未使用的端口是从范围内随机选择的,并且仅在单次渲染期间使用。

  • DISABLE_EXTERNAL_RENDER_ACCESS:对于客户托管的 Looker 实例或没有外部或无法访问互联网访问权限的服务器,其管理员应设置 DISABLE_EXTERNAL_RENDER_ACCESS=true。通常情况下,Chromium 渲染程序会等待页面请求的所有资源处理完毕,然后才会发送“finished”信号来提示 Looker 生成内容。其中一些请求可能会因连接不足而被丢弃,从而导致超时或呈现时间过长。将此环境变量设置为 true 可防止渲染程序等待所有请求完成。从 Looker Marketplace 安装的某些地图可视化图表和部分自定义可视化图表可能需要连接到互联网。