Date: Fri, 29 Mar 2024 02:30:18 -0600 (MDT) Message-ID: <671563002.2785.1711701018833@confluence-external-wiki> Subject: Exported From Confluence MIME-Version: 1.0 Content-Type: multipart/related; boundary="----=_Part_2784_1586364299.1711701018833" ------=_Part_2784_1586364299.1711701018833 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Content-Location: file:///C:/exported.html
In our steps for setting up a cluster deployment of Yell= owfin, each node of Yellowfin has 4GB of allocated RAM, with port= s starting on the Docker host at 8080, then 8081, 8082 and s= o on.
As each Yellowfin instance is running on a separate port,&nbs= p;we recommend placing a load balancer or reverse proxy = ;with sticky session support in front of the instances so that users a= re directed to one of Yellowfin instances for the duration of their session= .
Before deploying a Yellowfin cluster, make sure you have=
already created a repository database and synced it with the same version =
of Yellowfin that will be used in the Yellowfin container. To do this, down=
load the full application installer for Yellowfin, and install it on your workstation
For a list of supported database types, see the database informati= on on Inst= all And Deploy Yellowfin.
In the steps below, we=E2=80=99ll show you how to deploy a Yellowf= in cluster with three nodes.
Copy the following text and paste it into your preferred text editor= :
version:= '3'=20 services:=20 yellowfin-cluster-node-1:=20 ports:=20 - "8080:8080" # Maps Yellowfin running on port 8080 to the host's por= t 8080=20 #- "7801:7800" # Maps the Yellowfin cluster port to an external port = on the host (Optional) environment:=20 # Required environment variables=20 - JDBC_CLASS_NAME=3DINSERT_DATABASE_TYPE_HERE # Database driver class= name=20 - JDBC_CONN_URL=3Djdbc:INSERT_JDBC_CONNECTION_STRING_HERE # Database = connection string=20 - JDBC_CONN_USER=3DINSERT_DATABASE_USER_HERE # Username to use when a= ccessing the database=20 - JDBC_CONN_PASS=3DINSERT_JDBC_PASSWORD_HERE # Password for the datab= ase user=20 - JDBC_CONN_ENCRYPTED=3Dtrue # Flag for indicating if the database us= er's password supplied is encrypted or not.=20 - APP_MEMORY=3D4096 # The amount of memory in megabytes to assign to = the Yellowfin Application.=20 - CLUSTER_ADDRESS=3Dyellowfin-cluster-node-1 # Address to use for clu= stering =E2=80=93 recommended to use Docker networking to connect the conta= iners=20 - CLUSTER_PORT=3D7800 # TCP Port to use for cluster networking=20 - NODE_BACKGROUND_TASKS=3DREPORT_BROADCAST_BROADCASTTASK,REPORT_BROAD= CAST_MIREPORTTASK,FILTER_CACHE,SOURCE_FILTER_REFRESH,SOURCE_FILTER_UPDATE_R= EMINDER,THIRD_PARTY_AUTORUN,ORGREF_CODE_REFRESH,ETL_PROCESS_TASK,SIGNALS_DC= R_TASK,SIGNALS_ANALYSIS_TASK,SIGNALS_CLEANUP_TASK,COMPOSITE_VIEW_REFRESH,SI= GNALS_CORRELATION_TASK # Comma separated list of which background Task Type= s can be run on this node.=20 - NODE_PARALLEL_TASKS=3D4,4,4,4,4,4,4,4,4,4,4,4,4 # Comma separated l= ist of the number of concurrent tasks for each Task Type that can be run on= =20 image: "yellowfinbi/yellowfin-app-only:<RELEASE_VERSION_GOES_HERE>= " # Path to the app-only image of Yellowfin=20 yellowfin-cluster-node-2:=20 ports:=20 - "8081:8080" # Maps Yellowfin running on port 8081 to the host's por= t 8080=20 #- "7802:7800" # Maps the Yellowfin cluster port to an external port = on the host (Optional)=20 environment:=20 # Required environment variables=20 - JDBC_CLASS_NAME=3DINSERT_DATABASE_TYPE_HERE # Database driver class= name=20 - JDBC_CONN_URL=3Djdbc:INSERT_JDBC_CONNECTION_STRING_HERE # Database = connection string=20 - JDBC_CONN_USER=3DINSERT_DATABASE_USER_HERE # Username to use when a= ccessing the database=20 - JDBC_CONN_PASS=3DINSERT_JDBC_PASSWORD_HERE # Password for the datab= ase user=20 - JDBC_CONN_ENCRYPTED=3Dtrue # Flag for indicating if the database us= er's password supplied is encrypted or not.=20 - APP_MEMORY=3D4096 # The amount of memory in megabytes to assign to = the Yellowfin Application.=20 - CLUSTER_ADDRESS=3Dyellowfin-cluster-node-2 # Address to use for clu= stering =E2=80=93 recommended to use Docker networking to connect the conta= iners=20 - CLUSTER_PORT=3D7800 # TCP Port to use for cluster networking=20 image: "yellowfinbi/yellowfin-app-only:<RELEASE_VERSION_GOES_HERE>= " # Path to the app-only image of Yellowfin=20 - NODE_BACKGROUND_TASKS=3DREPORT_BROADCAST_BROADCASTTASK,REPORT_BROAD= CAST_MIREPORTTASK,FILTER_CACHE,SOURCE_FILTER_REFRESH,SOURCE_FILTER_UPDATE_R= EMINDER,THIRD_PARTY_AUTORUN,ORGREF_CODE_REFRESH,ETL_PROCESS_TASK,SIGNALS_DC= R_TASK,SIGNALS_ANALYSIS_TASK,SIGNALS_CLEANUP_TASK,COMPOSITE_VIEW_REFRESH,SI= GNALS_CORRELATION_TASK # Comma separated list of which background Task Type= s can be run on this node.=20 - NODE_PARALLEL_TASKS=3D4,4,4,4,4,4,4,4,4,4,4,4,4 # Comma separated l= ist of the number of concurrent tasks for each Task Type that can be run on= =20 yellowfin-cluster-node-3:=20 ports:=20 - "8082:8080" # Maps Yellowfin running on port 8082 to the host's por= t 8080=20 #- "7803:7800" # Maps the Yellowfin cluster port to an external port = on the host (Optional)=20 environment:=20 # Required environment variables=20 - JDBC_CLASS_NAME=3DINSERT_DATABASE_TYPE_HERE # Database driver class= name=20 - JDBC_CONN_URL=3Djdbc:INSERT_JDBC_CONNECTION_STRING_HERE # Database = connection string=20 - JDBC_CONN_USER=3DINSERT_DATABASE_USER_HERE # Username to use when a= ccessing the database=20 - JDBC_CONN_PASS=3DINSERT_JDBC_PASSWORD_HERE # Password for the datab= ase user=20 - JDBC_CONN_ENCRYPTED=3Dtrue # Flag for indicating if the database us= er's password supplied is encrypted or not.=20 - APP_MEMORY=3D4096 # The amount of memory in megabytes to assign to = the Yellowfin Application.=20 - CLUSTER_ADDRESS=3Dyellowfin-cluster-node-3 # Address to use for clu= stering =E2=80=93 recommended to use Docker networking to connect the conta= iners=20 - CLUSTER_PORT=3D7800 # TCP Port to use for cluster networking=20 image: "yellowfinbi/yellowfin-app-only:<RELEASE_VERSION_GOES_HERE>= " # Path to the app-only image of Yellowfin
Read through the above text and, for each container, =
;replace the environment variable placeholders with your own configuration =
details (these are located in the web.xml file of the Yellowfin i=
nstallation); here=E2=80=99s an example to connect to a PostgreSQL instance=
:
# = Required environment variables=20 - JDBC_CLASS_NAME=3Dorg.postgresql.Driver # Database driver class nam= e=20 - JDBC_CONN_URL=3Djdbc:postgresql://192.168.1.50/docker_yellowfin _cl= uster # Database connection string=20 - JDBC_CONN_USER=3Dpostgres # Username to use when accessing the data= base=20 - JDBC_CONN_PASS=3DbXF0oj5gnB1oRB1kZq5 # Password for the database us= er=20 - JDBC_CONN_ENCRYPTED=3Dtrue # Flag for indicating if the database us= er's password supplied is encrypted or not.=20 - APP_MEMORY=3D4096 # The amount of memory in megabytes to assign to = the Yellowfin Application.=20 - CLUSTER_ADDRESS=3Dyellowfin-cluster-node-1 # Address to use for clu= stering =E2=80=93 recommended to use Docker networking to connect the conta= iners=20 - CLUSTER_PORT=3D7800 # TCP Port to use for cluster networking=20 image: "yellowfinbi/yellowfin-app-only:9.6.0" # Path to the app-only ima= ge of Yellowfin
Save the text to a YAML file called yellowfin-cluster.yml&nb= sp;
Run the following command in a terminal to deploy Yellowfin and exec=
ute it in the background:d=
ocker-compose up -d -f yellowfin-cluster.yml
Start Yellowfin by typing you= r host URL on port 8080 (or any other port you=E2=80=99ve set)
= li>Ensure that Yellowfin is runn= ing from your container and that you can login (this confirms that your log= in credentials are correct, so you can safely delete the workstation instan= ce of Yellowfin)
Delete the workstation instan= ce of Yellowfin by removing the folder
The page is part of the Install in a Container topic contains the following pages, split = by Docker and Kubernetes:
This page is part of the Install And Deploy Yellowfin = section of the wiki, which has these topics: