This guide steps through the process of acquiring and deploying a Docker image of the in your Docker environment. Optionally, you can build the Docker image locally, which enables further configuration options.
Support for orchestration through Docker Compose only
Minimum | Recommended | |
---|---|---|
CPU Cores | 2 CPU | 4 CPU |
Available RAM | 8 GB RAM | 10+ GB RAM |
Review the Desktop Requirements.
NOTE: |
Acquire your License Key.
You can acquire the latest Docker image using one of the following methods:
Steps:
trifacta-docker-setup-bundle-x.y.z.tar
trifacta-docker-image-x.y.z.tar
NOTE: |
Untar the setup-bundle
file:
tar xvf trifacta-docker-setup-bundle-x.y.z.tar |
Files are extracted into a docker
folder. Key files:
File | Description | |
---|---|---|
docker-compose-local-postgres.yaml | Runtime configuration file for the Docker image when PostgreSQL is to be running on the same machine. More information is provided below. | |
docker-compose-local-mysql.yaml | Runtime configuration file for the Docker image when MySQL is to be running on the same machine. More information is provided below. | |
docker-compose-remote-db.yaml | Runtime configuration file for the Docker image when the database is to be accessed from a remote server.
More information is provided below. | |
README-running-trifacta-container.md | Instructions for running the
| |
README-building-trifacta-container.md | Instructions for building the
|
Load the Docker image into your local Docker environment:
docker load < trifacta-docker-image-x.y.z.tar |
Confirm that the image has been loaded. Execute the following command, which should list the Docker image:
docker images |
You can now configure the Docker image. Please skip that section.
As needed, you can build your own Docker image.
Docker version 17.12 or later
Docker Compose 1.11.2 or newer. It should be compatible with above version of Docker.
Acquire the RPM file from the FTP site:
NOTE: You must acquire the el7 RPM file for this release. |
trifacta-server\*.rpm
file to the same level as the Dockerfile
.docker-files
folder and its contents are present.Use the following command to build the image:
docker build -t trifacta/server-enterprise:latest . |
This process could take about 10 minutes. When it is completed, you should see the build image in the Docker list of local images.
NOTE: To reduce the size of the Docker image, the Dockerfile installs the trifacta-server RPM file in one stage and then copies over the results to the final stage. The RPM is not actually installed in the final stage. All of the files are properly located. |
Before you start the Docker container, you should review the properties for the Docker image. In the provided image, please open the appropriate docker-compose
file:
File | Description | |
---|---|---|
docker-compose-local-postgres.yaml | Database properties in this file are pre-configured to work with the installed instance of PostgreSQL, although you may wish to change some of the properties for security reasons. | |
docker-compose-local-mysql.yaml | Database properties in this file are pre-configured to work with the installed instance of MySQL, although you may wish to change some of the properties for security reasons. | |
docker-compose-remote-db.yaml | The
|
NOTE: You may want to create a backup of this file first. |
Key general properties:
NOTE: Avoid modifying properties that are not listed below. |
Property | Description | |
---|---|---|
image | This reference must match the name of the image that you have acquired. | |
container_name | Name of container in your Docker environment. | |
ports | Defines the listening port for the
For more information, see System Ports. |
Database properties:
These properties pertain to the installation of the database to which the connects.
Property | Description | |
---|---|---|
DB_INIT | If set to
| |
DB_TYPE | Set this value to postgresql or mysql . | |
DB_HOST_NAME | Hostname of the machine hosting the databases. Leave value as localhost for local installation. | |
DB_HOST_PORT | (Remote only) Port number to use to connect to the databases. Default is
| |
DB_ADMIN_USERNAME | Admin username to be used to create DB roles/databases. Modify this value for remote installation.
| |
DB_ADMIN_PASSWORD | Admin password to be used to create DB roles/databases. Modify this value for remote installation. |
Kerberos properties:
If your Hadoop cluster is protected by Kerberos, please review the following properties.
Property | Description | ||
---|---|---|---|
KERBEROS_KEYTAB_FILE | Full path inside of the container where the Kerberos keytab file is located. Default value:
| ||
KERBEROS_KRB5_CONF | Full path inside of the container where the Kerberos
|
Hadoop distribution client JARs:
Please enable the appropriate path to the client JAR files for your Hadoop distribution. In the following example, the Cloudera path has been enabled, and the Hortonworks path has been disabled:
# Mount folder from outside for necessary hadoop client jars # For CDH - /opt/cloudera:/opt/cloudera # For HDP #- /usr/hdp:/usr/hdp |
Please modify these lines if you are using Hortonworks.
Volume properties:
These properties govern where volumes are mounted in the container.
NOTE: These values should not be modified unless necessary. |
Property | Description | |
---|---|---|
volumes.conf | Full path in container to the
| |
volumes.logs | Full path in container to the
| |
volumes.license | Full path in container to the
|
After you have performed the above configuration, execute the following to initialize the Docker container:
docker-compose -f <docker-compose-filename>.yaml run trifacta initfiles |
When the above is started for the first time, the following directories are created on the localhost:
Directory | Description |
---|---|
./trifacta-data | Used by the |
After you have started the new container, additional configuration files must be imported.
The must be staged for use by the platform. Stage the file in the following location in the container:
NOTE: If you are using a non-default path or filename, you must update the |
trifacta-license/license.json |
If the container you are creating is on the edge node of your Hadoop cluster, you must provide the Hadoop libraries.
Some core cluster configuration files from your Hadoop distribution must be provided to the container. These files must be copied into the following directory within the container:
./trifacta-data/conf/hadoop-site |
For more information, see Configure for Hadoop in the Configuration Guide.
If Kerberos is enabled, you must install the Kerberos client and keytab on the node container. Copy the keytab file to the following stage location:
/trifacta-data/conf/trifacta.keytab |
See Configure for Kerberos Integration in the Configuration Guide.
The primary configuration file for the platform is in the following location in the launched container:
/opt/trifacta/conf/trifacta-conf.json |
NOTE: Unless you are comfortable working with this file, you should avoid direct edits to it. All subsequent configuration can be applied from within the application, which supports some forms of data validation. It is possible to corrupt the file using direct edits. |
Configuration topics are covered later.
Stops the container but does not destroy it.
NOTE: Application and local database data is not destroyed. As long as the |
docker-compose -f <docker-compose-filename>.yaml stop |
Restarts an existing container.
docker-compose -f <docker-compose-filename>.yaml start |
Recreates a container using existing local data.
docker-compose -f <docker-compose-filename>.yaml up --force-recreate -d |
Stops the container and destroys it.
The following also destroys all application configuration, logs, and database data. You may want to back up these directories first. |
docker-compose -f <docker-compose-filename>.yaml down |
Local PostgreSQL:
sudo rm -rf trifacta-data/ postgres-data/ |
Local MySQL or remote database:
sudo rm -rf trifacta-data/ |
Verify access to the server where the is to be installed.
Cluster Configuration: Additional steps are required to integrate the with the cluster. See Prepare Hadoop for Integration with the Platform.
After installation is complete, additional configuration is required. You can complete this configuration from within the application.
Steps:
The |