概要
Yellowfinのクラスタ導入をセットアップする手順では、Yellowfinの各ノードに4GBのRAMが割り当てられ、Docker ホストのポートは8080から始まり、次に8081、8082と続きます。
各Yellowfin インスタンスは別のポートで実行されているため、ユーザーがセッション中にいずれかのYellowfin インスタンスに誘導されるように、スティッキーセッションをサポートするロードバランサーまたはリバースプロキシをインスタンスの前に配置することを推奨します。
Yellowfin クラスタを導入する前に、リポジトリデータベースを作成し、Yellowfin コンテナで使用するのと同じバージョンのYellowfinと同期していることを確認してください。これを実行するには、Yellowfinのフルアプリケーションインストーラーをダウンロードし、ワークステーションにインストールします。これにより、フォルダー内にYellowfin リポジトリデータベースおよびYellowfin インスタンスが作成されます。これらは、コンテナの設定後に削除することができます。
サポートされているデータベースのタイプを確認するには、インストールの前提条件ページでデータベース情報を参照してください。
以下の手順では、3つのノードを備えたYellowfin クラスタを導入する方法を紹介します。
ワークステーションに、Yellowfinのフルアプリケーションインストーラーバージョンをインストールします (これは、コンテナがリポジトリデータベースを使用できるようにするための一時的なものです)。
このインストールからweb.xml ファイルをコピーし、バックアップとして任意の場所に保存します (これは、Yellowfin リポジトリデータベースに接続するために必要なYellowfin 認証情報の参照として機能します)。
Dockerが実行されていることを確認します。
次のテキストをコピーし、任意のテキストエディターに貼り付けます。
version: '3' services: yellowfin-cluster-node-1: ports: - "8080:8080" # Maps Yellowfin running on port 8080 to the host's port 8080 #- "7801:7800" # Maps the Yellowfin cluster port to an external port on the host (Optional) environment: # Required environment variables - JDBC_CLASS_NAME=INSERT_DATABASE_TYPE_HERE # Database driver class name - JDBC_CONN_URL=jdbc:INSERT_JDBC_CONNECTION_STRING_HERE # Database connection string - JDBC_CONN_USER=INSERT_DATABASE_USER_HERE # Username to use when accessing the database - JDBC_CONN_PASS=INSERT_JDBC_PASSWORD_HERE # Password for the database user - JDBC_CONN_ENCRYPTED=true # Flag for indicating if the database user's password supplied is encrypted or not. - APP_MEMORY=4096 # The amount of memory in megabytes to assign to the Yellowfin Application. - CLUSTER_ADDRESS=yellowfin-cluster-node-1 # Address to use for clustering – recommended to use Docker networking to connect the containers - CLUSTER_PORT=7800 # TCP Port to use for cluster networking - NODE_BACKGROUND_TASKS=REPORT_BROADCAST_BROADCASTTASK,REPORT_BROADCAST_MIREPORTTASK,FILTER_CACHE,SOURCE_FILTER_REFRESH,SOURCE_FILTER_UPDATE_REMINDER,THIRD_PARTY_AUTORUN,ORGREF_CODE_REFRESH,ETL_PROCESS_TASK,SIGNALS_DCR_TASK,SIGNALS_ANALYSIS_TASK,SIGNALS_CLEANUP_TASK,COMPOSITE_VIEW_REFRESH,SIGNALS_CORRELATION_TASK # Comma separated list of which background Task Types can be run on this node. - NODE_PARALLEL_TASKS=4,4,4,4,4,4,4,4,4,4,4,4,4 # Comma separated list of the number of concurrent tasks for each Task Type that can be run on image: "yellowfinbi/yellowfin-app-only:<RELEASE_VERSION_GOES_HERE>" # Path to the app-only image of Yellowfin yellowfin-cluster-node-2: ports: - "8081:8080" # Maps Yellowfin running on port 8081 to the host's port 8080 #- "7802:7800" # Maps the Yellowfin cluster port to an external port on the host (Optional) environment: # Required environment variables - JDBC_CLASS_NAME=INSERT_DATABASE_TYPE_HERE # Database driver class name - JDBC_CONN_URL=jdbc:INSERT_JDBC_CONNECTION_STRING_HERE # Database connection string - JDBC_CONN_USER=INSERT_DATABASE_USER_HERE # Username to use when accessing the database - JDBC_CONN_PASS=INSERT_JDBC_PASSWORD_HERE # Password for the database user - JDBC_CONN_ENCRYPTED=true # Flag for indicating if the database user's password supplied is encrypted or not. - APP_MEMORY=4096 # The amount of memory in megabytes to assign to the Yellowfin Application. - CLUSTER_ADDRESS=yellowfin-cluster-node-2 # Address to use for clustering – recommended to use Docker networking to connect the containers - CLUSTER_PORT=7800 # TCP Port to use for cluster networking image: "yellowfinbi/yellowfin-app-only:<RELEASE_VERSION_GOES_HERE>" # Path to the app-only image of Yellowfin - NODE_BACKGROUND_TASKS=REPORT_BROADCAST_BROADCASTTASK,REPORT_BROADCAST_MIREPORTTASK,FILTER_CACHE,SOURCE_FILTER_REFRESH,SOURCE_FILTER_UPDATE_REMINDER,THIRD_PARTY_AUTORUN,ORGREF_CODE_REFRESH,ETL_PROCESS_TASK,SIGNALS_DCR_TASK,SIGNALS_ANALYSIS_TASK,SIGNALS_CLEANUP_TASK,COMPOSITE_VIEW_REFRESH,SIGNALS_CORRELATION_TASK # Comma separated list of which background Task Types can be run on this node. - NODE_PARALLEL_TASKS=4,4,4,4,4,4,4,4,4,4,4,4,4 # Comma separated list of the number of concurrent tasks for each Task Type that can be run on yellowfin-cluster-node-3: ports: - "8082:8080" # Maps Yellowfin running on port 8082 to the host's port 8080 #- "7803:7800" # Maps the Yellowfin cluster port to an external port on the host (Optional) environment: # Required environment variables - JDBC_CLASS_NAME=INSERT_DATABASE_TYPE_HERE # Database driver class name - JDBC_CONN_URL=jdbc:INSERT_JDBC_CONNECTION_STRING_HERE # Database connection string - JDBC_CONN_USER=INSERT_DATABASE_USER_HERE # Username to use when accessing the database - JDBC_CONN_PASS=INSERT_JDBC_PASSWORD_HERE # Password for the database user - JDBC_CONN_ENCRYPTED=true # Flag for indicating if the database user's password supplied is encrypted or not. - APP_MEMORY=4096 # The amount of memory in megabytes to assign to the Yellowfin Application. - CLUSTER_ADDRESS=yellowfin-cluster-node-3 # Address to use for clustering – recommended to use Docker networking to connect the containers - CLUSTER_PORT=7800 # TCP Port to use for cluster networking image: "yellowfinbi/yellowfin-app-only:<RELEASE_VERSION_GOES_HERE>" # Path to the app-only image of Yellowfin
上記テキストを確認し、各コンテナにおいて環境変数プレースホルダーを独自の設定詳細に置き換えます (これらは、ローカルYellowfin インストールのweb.xml ファイルにあります)。こちらは、ローカルPostgreSQL インスタンスに接続するための例です。
# Required environment variables - JDBC_CLASS_NAME=org.postgresql.Driver # Database driver class name - JDBC_CONN_URL=jdbc:postgresql://192.168.1.50/docker_yellowfin _cluster # Database connection string - JDBC_CONN_USER=postgres # Username to use when accessing the database - JDBC_CONN_PASS=bXF0oj5gnB1oRB1kZq5 # Password for the database user - JDBC_CONN_ENCRYPTED=true # Flag for indicating if the database user's password supplied is encrypted or not. - APP_MEMORY=4096 # The amount of memory in megabytes to assign to the Yellowfin Application. - CLUSTER_ADDRESS=yellowfin-cluster-node-1 # Address to use for clustering – recommended to use Docker networking to connect the containers - CLUSTER_PORT=7800 # TCP Port to use for cluster networking image: "yellowfinbi/yellowfin-app-only:9.6.0" # Path to the app-only image of Yellowfin
テキストをyellowfin-cluster.ymlと呼ばれるYAML ファイルに保存します。
Yellowfinを導入するためにターミナルから次のコマンドを実行し、バックグラウンドで実行します。
docker-compose up -d -f yellowfin-cluster.ymlホストURLを8080ポート (または、設定した他のすべてのポート)で入力し 、Yellowfinを起動します。
Yellowfinがコンテナから実行されていること、およびログインできることを確認します (これにより、ログイン認証情報が正しいことが確認されるので、Yellowfinのワークステーションインスタンスを安全に削除することができます)。
フォルダーを削除して、Yellowfinのワークステーションインスタンスを削除します。