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

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

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

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

Chromium プロジェクトは、Google Chrome の独自仕様を共有するために Google が開始したオープンソース プロジェクトです。

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

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

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

Looker インスタンスで Chromium を実行するには、Chromium 86 以降が必要ですが、Looker では利用可能な最新バージョンを使用することをおすすめします。お使いの 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
  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 インストールの場合、Looker アプリケーションがインストールを検出できるように、Chromium ウェブブラウザをインストールしてエイリアスを設定する必要があります。

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

  1. Chromium を起動するには、システムにフォントをインストールする必要があります。フォントはコマンドライン インターフェースを使用してインストールできます。たとえば、次のコマンドは Ubuntu 16.04 LTS にデフォルト フォントをインストールします。
    apt-get install fonts-freefont-otf
  1. Chromium をインストールするには、次のコマンドを実行します。
    apt-get update && apt-get install -y chromium-browser
  1. chromium-browserchromium というエイリアスを設定するか、CHROMIUM_PATH 環境変数をエクスポートする必要があります。chromium-browserchromium としてエイリアスするには、~/.bashrc ファイルに次の行を追加します。
    alias chromium='chromium-browser'
To make this alias known to Looker, run this command on the command line:
    sudo ln -s /usr/bin/chromium-browser /usr/bin/chromium
  1. オプションの環境変数を設定したら、Looker アプリケーションを再起動して、それらを有効にします。また、開いているターミナル セッションを再起動するか、source ~/.bash_profile を実行してターミナルに新しい構成を読み取ることもできます。

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

Debian への Chromium のインストール

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

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

Looker インスタンスで Docker とベアメタル版 Docker を使用している場合は、procps をインストールして、root として実行していないことを確認します。

  1. Chromium を起動するには、システムにフォントをインストールする必要があります。コマンドライン インターフェースを使用して次のコマンドを実行すると、フォントをインストールできます。
    apt-get install fonts-freefont-otf
  1. Chromium をインストールするには、次のコマンドを実行します。
    apt-get update && apt-get install -y chromium
  1. オプションの環境変数を設定したら、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_START & CHROMIUM_PORT_RANGE_END: Chromium アプリケーションにおいて、ローカルマシン上のプロセス間で通信するためのポートの範囲が必要です。デフォルトの範囲は 40,000 ~ 40,500 ですが、これらの環境変数を両方とも設定することで、このデフォルトをオーバーライドできます。未使用のポートは範囲からランダムに選択され、1 つのレンダリングの期間中のみ使用されます。

  • DISABLE_EXTERNAL_RENDER_ACCESS: 外部ホストまたはインターネット アクセスがブロックされていない、お客様がホストする Looker インスタンスまたはサーバーの管理者は、DISABLE_EXTERNAL_RENDER_ACCESS=true を設定する必要があります。通常、Chromium レンダラは、ページによってリクエストされたすべてのリソースが完了するのを待ち、レンダラが Looker にコンテンツの生成を促すシグナルを送信します。これらのリクエストの一部は、接続が失われてタイムアウトになるか、表示に非常に長い時間がかかるために、ドロップされる可能性があります。この環境変数を true に設定すると、レンダラがすべてのリクエストが完了するまで待機しなくなります。Looker Marketplace からインストールされる一部の地図ビジュアリゼーションおよび一部のカスタム ビジュアリゼーションは、インターネット アクセスを必要とする場合があります。