セルフホスト型レンダリング ソフトウェアのインストール

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

Chromium レンダリングは、ページからリクエストされたすべてのリソースが完了するまで待機してから、レンダリングされたコンテンツを生成するように Looker に指示する「完了」シグナルを送信します。これらのリソース リクエストの数と頻度により、一部のネットワークではリクエストが不正なものとして誤ってフラグ設定され、リクエストがドロップされることがあります。これにより、レンダリング ジョブが遅延します。

Chromium プロジェクトは、Google Chrome の機密情報以外の部分を共有するために Google が開始したオープンソース プロジェクトです。

始める前に

Chromium をインストールする前に、次のトピックについてご確認ください。

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

このページでは、ディストリビューション タイプに依存しない Chromium のインストール手順の例を示します。Chromium をダウンロードして、このページに残りのインストール手順に沿ってインストールすることもできます。

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

クラスタ化された Looker インストールに Chromium をインストールする場合は、各ノードの Chromium のバージョンが完全に同一である必要があります。ビルド番号が異なるなど、わずかな違いでも Looker のレンダリング機能に影響する可能性があります。

特定のディストリビューションに Chromium をインストールする際の注意事項

Looker は、Ubuntu(LTS リリース)、Debian 9 以降、RedHat Enterprise Linux(RHEL)7 以降、CentOS 7 以降、Amazon Linux など、主要なすべてのエンタープライズ Linux ディストリビューションのリリース バージョンをサポートしています。

Ubuntu にインストールする場合は、Chromium ウェブブラウザをインストールしてから、Looker アプリケーションでインストールが見つかるようにエイリアスを設定する必要があります。

Debian にインストールする場合、Chromium には Debian 9(stretch)以降が必要です。Looker インスタンスで Docker を使用し、Debian の最小限のインストールを行っている場合は、procps をインストールし、root として実行していないことを確認してください。

フォント パッケージをインストールする

Chromium を起動するには、Microsoft OpenType フォント(OTF)パッケージをシステムにインストールする必要があります。OTF パッケージでは、.otf ファイル拡張子が使用されます。Google Fonts の OTF パッケージなど、任意の OTF パッケージをダウンロードできます。

データに英語以外の文字が含まれている場合は、Google Noto Fonts パッケージ(サイズは数 GB)もインストールする必要があります。

これらのパッケージをインストールしたら、次のコマンドを実行します。

cd $HOME
rm -rf /tmp/fonts

Chromium をインストールする

  1. Chromium をインストールするには、システムに適用可能なインストール コマンドを実行します。次に例を示します。

    apt-get update && apt-get install -y chromium-browser
    
  2. chromium-browserchromium としてエイリアスにするか、CHROMIUM_PATH 環境変数をエクスポートする必要があります。chromium-browserchromium としてエイリアスにするには、システムに適用可能なシェル ファイルに次のように記述します。次に例を示します。

    alias chromium='chromium-browser'
    

    このエイリアスを Looker に認識させるには、コマンドラインで次のコマンドを実行します。

    sudo ln -s /usr/bin/chromium-browser /usr/bin/chromium
    
  3. オプションの環境変数を設定したら、Looker アプリケーションを再起動して、変数を有効にします。開いているターミナル セッションを再起動したり、シェル ファイルをソースにしたりして、ターミナルで新しい構成を読み取るようにすることも必要な場合があります。

Chromium をインストールした後、chromium --version を実行すると(CHROMIUM_PATH 環境変数を設定していない場合)、または $CHROMIUM_PATH --version を実行すると(CHROMIUM_PATH 環境変数を設定している場合)、有効なレスポンスが返されます。

オプションの 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 からインストールされた一部のマップ ビジュアリゼーションやカスタム ビジュアリゼーションでは、インターネット接続が必要になる場合があります。