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 インスタンスでベアボーンの Debian インストールで Docker を使用している場合は、procps をインストールし、root として実行していないことを確認します。
フォント パッケージをインストールする
Chromium を起動するには、Microsoft OpenType フォント(OTF)パッケージをシステムにインストールする必要があります。OTF パッケージでは .otf
ファイル拡張子が使用されます。Google Fonts の OTF パッケージなど、任意の OTF パッケージをダウンロードできます。
データに英語以外の文字が含まれている場合は、Google Noto Fonts パッケージ(数 GB のサイズ)もインストールする必要があります。
これらのパッケージをインストールしたら、次のコマンドを実行します。
cd $HOME
rm -rf /tmp/fonts
Chromium のインストール
Chromium をインストールするには、システムに適用可能なインストール コマンドを実行します。次に例を示します。
apt-get update && apt-get install -y chromium-browser
chromium-browser
をchromium
としてエイリアスにするか、CHROMIUM_PATH
環境変数をエクスポートする必要があります。chromium-browser
をchromium
としてエイリアスにするには、システムに適用可能なシェルファイルに次のように記述します。次に例を示します。alias chromium='chromium-browser'
このエイリアスを Looker に認識させるには、コマンドラインで次のコマンドを実行します。
sudo ln -s /usr/bin/chromium-browser /usr/bin/chromium
オプションの環境変数を設定したら、変数が有効になるように 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_START
とCHROMIUM_PORT_RANGE_END
: Chromium アプリケーションは、ローカルマシンのプロセス間で通信するために、さまざまなポートを必要とします。デフォルトの範囲は 40000 ~ 40500 ですが、これらの環境変数の両方を設定すると、このデフォルト値をオーバーライドできます。未使用のポートは範囲からランダムに選択され、1 回のレンダリングの期間のみ使用されます。DISABLE_EXTERNAL_RENDER_ACCESS
: 外部またはブロックされたインターネット アクセスがない、セルフホスト型 Looker インスタンスまたはサーバーの管理者は、DISABLE_EXTERNAL_RENDER_ACCESS=true
を設定する必要があります。通常、Chromium レンダラは、ページでリクエストされたすべてのリソースが完了するまで待機してから、「完了」シグナルを送信します。このシグナルにより、Looker はコンテンツを生成します。接続がないために、これらのリクエストの一部がドロップされ、タイムアウトやレンダリング時間の長期化につながる可能性があります。この環境変数をtrue
に設定すると、レンダラはすべてのリクエストが完了するまで待機しなくなります。Looker Marketplace からインストールされた一部のマップ ビジュアリゼーションやカスタム ビジュアリゼーションでは、インターネット接続が必要になる場合があります。