お客様がホストするレンダリング ソフトウェアのインストール

Looker では、画像ベースの形式(HTML、PNG、PDF ファイル)でデータを送信またはダウンロードし、紙のサイズ表の展開などの機能を使用するために Chromium というレンダリング ソフトウェアが必要です。このページでは、お客様がホストする Looker のインスタンスにレンダリング ソフトウェアをインストールする方法について説明します。

Chromium は Looker がホストするインスタンスにすでにインストールされています。

Chromium のレンダリングは、ページからリクエストされたすべてのリソースが完了するまで待ってから、レンダリングしたコンテンツを生成するよう Looker に促す「完了」シグナルを送信します。これらのリソース リクエストの数と頻度が原因で、一部のネットワークは悪意のあるリクエストであると誤って判断し、レンダリング ジョブの遅延の原因となることがあります。

Chromium プロジェクトは、Google が公開している Google Chrome の非独占的な部分を共有するオープンソース プロジェクトです。

Chromium のインストールの要件と前提条件

Looker は、Ubuntu、Debian、RedHat、CentOS、Amazon Linux など、すべての主要なエンタープライズ Linux ディストリビューションのリリース バージョンをサポートしています。このページでは、UbuntuDebianRedHat/CentOS/Amazon Linux に Chromium をインストールする手順を説明します。

Chromium は、Looker インスタンスをホストするマシンの実行可能パスにインストールする必要があります。Looker アプリケーションが Chromium にアクセスするには、chromium コマンドを使用するか、CHROMIUM_PATH 環境変数でカスタムパスを設定する必要があります。

Looker インスタンスで Chromium を実行するには、Chromium 86 以降が必要ですが、Looker では Chromium 97.x を使用することをおすすめします。Looker インスタンスが Debian にインストールされている場合、Chromium には Debian 9(stretch)以降が必要です。

クラスタ化された Looker のインストールに Chromium をインストールする場合は、各ノードの Chromium のバージョンが同一である必要があります。異なるビルド番号など、小さな違いでも 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 コマンドを使用するか、CHROMIUM_PATH 環境変数でカスタムパスを設定する必要があります。Ubuntu インストールの場合は、Chromium ウェブブラウザをインストールして、Looker アプリケーションがインストールを見つけられるようエイリアスを設定する必要があります。

昇格した権限を必要とするステップを実行する場合は、sudo コマンドを使用することをおすすめします。root ユーザーとしてログインしている場合は、Chromium をインストールしないでください。root ユーザーとしてログインしている間に 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-browserchromium としてエイリアスするか、CHROMIUM_PATH 環境変数をエクスポートする必要があります。chromium-browserchromium としてエイリアス化するには、~/.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 のインストール

昇格した権限を必要とするステップを実行する場合は、sudo コマンドを使用することをおすすめします。root ユーザーとしてログインしている場合は、Chromium をインストールしないでください。root ユーザーとしてログインしている間に Chromium をインストールすると、Looker で PDF または PNG レンダリングを実行できない場合があります。

Chromium には Debian 9(Stretch)以降が必要です。

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 をインストールした後、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 ですが、これらの環境変数の両方を設定すると、このデフォルト値をオーバーライドできます。未使用のポートは、範囲内からランダムに選択され、1 つのレンダリング中にのみ使用されます。

  • DISABLE_EXTERNAL_RENDER_ACCESS: 外部ホストまたはブロックされたインターネット アクセスがない、お客様がホストする Looker インスタンスまたはサーバーの管理者は、DISABLE_EXTERNAL_RENDER_ACCESS=true を設定する必要があります。通常、Chromium のレンダラは、ページからリクエストされたすべてのリソースが完了するまで待ってから、Looker にコンテンツの作成を求める「完了」シグナルを送信します。このようなリクエストの一部は、接続が欠落しているためにドロップされ、タイムアウトや非常に長いレンダリング時間が発生する可能性があります。この環境変数を true に設定すると、レンダラはすべてのリクエストが完了するまで待機しません。Looker Marketplace からインストールされた一部のマップ可視化とカスタム可視化では、インターネット アクセスが必要な場合があります。