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

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

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

Chromium 呈现会等待网页请求的所有资源都完成,然后再发送“完成”信号,指示 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 102.x。如果您的 Looker 实例安装在 Debian 上,则 Chromium 需要使用 Debian 9 (Stretch) 或更高版本。

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

如果您的数据包含非英文字符,除了安装 Chromium 之外,还请安装 Google Noto Fonts 软件包(大小为数 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 后,如果您未设置 CHROMIUM_PATH 环境变量,应该会收到来自 chromium --version 的有效响应;如果您已设置 CHROMIUM_PATH 环境变量,则会收到 $CHROMIUM_PATH --version

在 Debian 上安装 Chromium

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

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

如果您的 Looker 实例使用 Docker 进行基本 Debian 安装,请安装 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 后,如果您未设置 CHROMIUM_PATH 环境变量,应该会收到来自 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 渲染程序会等待网页请求的所有资源都完成运行,然后再发送“已完成”字样。信号。其中一些请求可能会因没有连接而被丢弃,从而导致超时或呈现时间很长。将此环境变量设置为 true 可防止渲染程序等待所有请求完成。从 Looker Marketplace 安装的部分地图可视化图表和部分自定义可视化图表可能需要连接到互联网。