概要
YellowfinをノートPC、クラウド、サーバー、どの環境で実行するにしても、導入プロセスは同じです。Yellowfinを初めて起動する場合は、ご利用の環境に合わせていくつかの設定を行う必要があります。
Yellowfinのイメージ形式
Yellowfin オールインワンイメージ
Yellowfin オールインワンイメージには、Yellowfin アプリケーションおよびYellowfin リポジトリデータベース (この場合は、組み込みPostgreSQL データベース) の両方が含まれています。
このイメージは、Docker コンテナの外部にデータを保持せず、コンテナが破棄されるとすべてのコンテンツが失われます。これを念頭に置いて、次の事例を推奨します。
事例
このイメージは、次の事例での使用に最適です。
- 短期でのPOCおよびデモ
- Sandbox環境でのYellowfin機能のテスト
このイメージを次の事例で使用するのは避けましょう。
- 本番環境 (コンテナが破棄されるとすべてのコンテンツが失われます)
- クラスタ環境 (このイメージはこの機能をサポートしていません)
Yellowfin オールインワンイメージ構成オプション
Yellowfin オールインワンイメージには、構成に使用できる次の環境変数があります。
構成アイテム | 説明 | 例 |
アプリケーションメモリ | Yellowfin アプリケーションに割り当てるメモリのメガバイト数を指定します。これが設定されていない場合、YellowfinはJavaのデフォルト値 (通常はシステムRAMの25%) を使用します。 | -e APP_MEMORY=4096 |
Yellowfin アプリケーション限定イメージ
Yellowfin アプリケーション限定 イメージには、Yellowfin アプリケーションのみが含まれています。そのため、既存のリポジトリデータベースに接続する必要があります。
このイメージを使用して、単一インスタンス、個別インスタンス、またはYellowfin クラスタ環境に導入することができます。このイメージは、データが外部Yellowfin リポジトリに保持されることで、コンテナが破棄されてもYellowfin データが保持されるため、本番環境および非本番環境の両方に適しています。
事例
このイメージは、次の事例での使用に最適です。
- データの永続性が重要なYellowfinの長期的に使用するインスタンス
- Yellowfin クラスタ環境への導入
Yellowfin アプリケーション限定イメージ構成オプション
Yellowfin アプリケーション限定イメージには、構成に使用できる次の環境変数があります。
構成アイテム | 説明 | 例 |
JDBC ドライバー名、JDBC_CLASS_NAME | Yellowfin リポジトリに接続するためのJDBC ドライバークラスを構成します (必須)。 | -e JDBC_CLASS_NAME=org.postgresql.Driver |
リポジトリURL、JDBC_CONN_URL | リポジトリデータベースへの接続URを指定します (必須)。 | -e JDBC_CONN_URL=jdbc:postgresql://host:5432/yf |
リポジトリユーザー名、JDBC_CONN_USER | リポジトリデータベースへのアクセスに必要なデータベースユーザーを指定します (必須)。 | -e JDBC_CONN_USER=dba |
リポジトリパスワード、JDBC_CONN_PASS | リポジトリデータベースへのアクセスに必要なデータベースパスワードを指定します。これは暗号化できます (必須)。 | -e JDBC_CONN_PASS=secret |
アプリケーションメモリ、APP_MEMORY | Yellowfin アプリケーションに割り当てるメモリのメガバイト数を指定します。これが設定されていない場合、YellowfinはJavaのデフォルト値 (通常はシステムRAMの25%) を使用します。 | -e APP_MEMORY=4096 |
データベースパスワードの暗号化、JDBC_CONN_ENCRYPTED | データベースパスワードを暗号化するかどうかを指定します (true/false)。 | -e JDBC_CONN_ENCRYPTED=true |
コネクションプールサイズ、JDBC_MAX_COUNT | リポジトリデータベースのコネクションプールの最大サイズを指定します (デフォルトは25)。 | -e JDBC_MAX_COUNT=25 |
ようこそページのデフォルト、WELCOME_PAGE | デフォルトのインデックスページを指定します。 | -e WELCOME_PAGE=custom_index.jsp |
内部アプリケーションHTTP ポート | 内部HTTP ポートを指定します (デフォルトは8080)。 | -e APP_SERVER_PORT=9090 |
内部シャットダウンポート | 内部シャットダウンポートを指定します (デフォルトは8083)。 | -e TCP_PORT=9093 |
プロキシポート、PROXY_PORT | 外部プロキシポートです。 | -e PROXY_PORT=443 |
プロキシスキーム、PROXY_SCHEME | 外部プロキシスキーム (http/https)です。 | -e PROXY_SCHEME=https |
プロキシホスト、PROXY_HOST | 外部プロキシホストまたはIP アドレスです。 | -e PROXY_HOST=reporting.company.com |
外部クラスタアドレス、CLUSTER_ADDRESS | クラスタメッセージ用の外部クラスタアドレスです。通常はDocker HostのホストまたはIPアドレス、またはDocker SwarmおよびKubernetesの場合は、コンテナのDNS名になります。 | -e CLUSTER_ADDRESS=10.10.10.23 |
外部クラスタポート、CLUSTER_PORT | このコンテナが他のノードからクラスタメッセージを受信する一意のTCPポートです。 | -e CLUSTER_ADDRESS=7801 |
内部クラスタネットワークアダプター、CLUSTER_INTERFACE | クラスタメッセージをバインドするDocker インタフェースを指定します。デフォルトはeth0ですが、KubernetesおよびDocker Swarmでは、これを変更する必要があるかもしれません。 | -e CLUSTER_INTERFACE=match-interface:eth1 |
バックグラウンド処理タスクタイプ、NODE_BACKGROUND_TASKS | このノードで実行できるバックグラウンドタスクタイプのコンマ区切り一覧です。この項目が指定されている場合は、NODE_PARALLEL_TASKSも更新する必要があります。これを指定しない場合、すべてのタスクタイプが有効になります。 | -e NODE_BACKGROUND_TASKS= FILTER_CACHE,ETL_PROCESS_TASK |
バックグラウンドタスク処理ジョブ、NODE_PARALLEL_TASKS | このノードで実行できる各タスクタイプの同時実行タスク数のカンマ区切り一覧です。ここで渡される要素の数は、NODE_BACKGROUND_TASKSによって渡されるタスクタイプ数と一致する必要があります。 | -e NODE_PARALLEL_TASKS=5,4 |
追加ライブラリURL、LIBRARY_ZIP | Yellowfinのlibフォルダに抽出する追加ライブラリを含むZipファイルのURLです。これを使用して、YellowfinにJDBCドライバーまたはカスタムプラグインを追加できます。パスがアーカイブのzipエントリーに含まれていないことを確認してください。 | -e LIBRARY_ZIP=http://lib-host/libraries.zip |
Yellowfin イメージのダウンロードおよび構築
Yellowfinは、様々な形式でダウンロードできます。
Yellowfinの主要なインストーラーアプリケーションは、Yellowfin ポータルから取得できます。
Yellowfin Dockerイメージは、Docker Hubから取得できます。
(独自のDocker イメージを構築できる) Yellowfinのアセットは、GitHubから取得できます。
Yellowfinをアクティベートするにはライセンスが必要です。ライセンスをお持ちでない場合は、評価ライセンスまたはフルライセンスを提供できます。ライセンスの取得をご希望の場合は、Yellowfin 担当者までお問い合わせください。
Yellowfin GitHub
GitHubのYellowfinリポジトリでは、ダウンロード可能なDockerfileとして、YellowfinのDocker イメージが2つ提供されているほか、これらのページでは導入ファイルの例のコピーも提供されています。
Docker イメージを構築するには、次の手順に従います (My_Docker_Registryを、独自のDokcer レジストリ名に置き換えてください)。次の手順では、例として最新のビルドを使用しています。
- ダウンロードしたYellowfin Dockerfileを、システム内の適切なディレクトリに移動します。
- https://support.yellowfin.co.jp/hc/ja/sections/115003324168 からYellowfin jar ファイルをダウンロードします。
- ターミナルを起動し、Yellowfin DockerfileおよびYellowfin jar ファイルが含まれるフォルダーに移動します。
- ターミナルコマンドを使用して、DockerfileからDocker イメージを構築します。
docker build -t yellowfin-app-only - ターミナルコマンドを使用して、イメージにバージョンのタグを付けます。
docker tag yellowfin-app-only:latest My_Docker_Registry/yellowfin-app-only:latest - イメージをDocker レジストリにプッシュします。
docker push My_Docker_Registry/yellowfin-app-only:latest
Yellowfin Docker Hub
構築済みのDocker イメージを直接取得したい場合は、Yellowfin Docker Hubアカウントが、Yellowfin アプリケーション限定イメージリポジトリおよびYellowfin オールインワンイメージリポジトリの両方をホストします。いずれもYellowfinの公式リリースビルドに合わせたバージョンになっています。
暫定ビルドが表示される場合がありますが、これらはテストされていない特定のパートナー向けの例外ビルドであるため使用しないでください。
イメージを取得するには、次の表に示すコマンドと接尾辞の組み合わせを使用してください。
イメージ形式 | コマンド | 利用可能な接尾辞 |
オールインワンイメージ | docker pull yellowfinbi/yellowfin-all-in-one: |
|
アプリケーション限定イメージ | docker pull yellowfinbi/yellowfin-app-only: |
|
例えば、最新のYellowfin オールインワンDocker イメージを取得する場合:
docker pull yellowfinbi/yellowfin-all-in-one:latest
または、特定のバージョンのYellowfin アプリケーション限定Docker イメージを取得する場合:
docker pull yellowfinbi/yellowfin-app-only:9.5.1
特定のバージョンのYellowfinを使用するには、取得する前にイメージリポジトリの「Tags」項目内で検索します。
アプリケーション限定イメージを取得するときは、起動時に誤って更新が実行されないように、 「latest (最新)」 ではなく特定のバージョン番号を使用することを強く推奨します。
導入例
コンテナ化された導入の形式ごとに記述した手順は、すべての主要なクラウドプロバイダーおよびオンプレミス環境で機能します。
Yellowfinでは、以下のサービスを使用して、Amazon Web Services上でこれらの手順を作成し、テストしました。
- DockerおよびDocker Swarm環境向けEC2インスタンス
- Kubernetes環境向けAWS EKS
- Docker レジストリとしてのAWS ECR (すべての環境向けYellowfin Docker イメージを保存するために使用しました)
可能性は低いですが、他のクラウド環境では導入ファイルへの変更が必要になる場合があります。