Page tree

 

Contents:


This guide steps through the process of acquiring and deploying a Docker image of the Trifacta® platform in your Docker environment. Optionally, you can build the Docker image locally, which enables further configuration options.

Deployment Scenario

  • Trifacta Wrangler Enterprise deployed into a customer-managed environment: On-premises, AWS, or Azure.
  • PostgreSQL 9.6 installed either:
    • Locally
    • Remote server

Limitations

  • You cannot upgrade to a Docker image from a non-Docker deployment.
  • You cannot switch an existing installation to a Docker image.
  • Supported distributions of Cloudera or Hortonworks:
  • The base storage layer of the platform must be HDFS. Base storage of S3 is not supported.
  • High availability for the Trifacta platform in Docker is not supported.
  • SSO integration is not supported.

Requirements

Support for orchestration through Docker Compose only

  • Docker version 17.12 or later
  • Docker-Compose 1.11.2 or later. Version must be compatible with your version of Docker.

Docker Daemon


MinimumRecommended
CPU Cores2 CPU4 CPU
Available RAM8 GB RAM10+ GB RAM


Preparation

  1. Review the Desktop Requirements.

    NOTE: Trifacta Wrangler Enterprise requires the installation of Google Chrome on each desktop. For more information, see Desktop Requirements.

  2. Acquire your License Key.

Acquire Image

You can acquire the latest Docker image using one of the following methods:


  1. Acquire from FTP site.
  2. Build your own Docker image.

Acquire from FTP site

Steps:

  1. Download the following files from the FTP site:
    1. trifacta-docker-setup-bundle-x.y.z.tar
    2. trifacta-docker-image-x.y.z.tar 

      NOTE: x.y.z refers to the version number (e.g. 6.4.0).

  2. Untar the setup-bundle file:

    tar xvf trifacta-docker-setup-bundle-x.y.z.tar


  3. Files are extracted into a docker folder. Key files:

    FileDescription
    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.

    NOTE: You must manage this instance of the database.

    More information is provided below.

    README-running-trifacta-container.md

    Instructions for running the Trifacta container

    NOTE: These instructions are referenced later in this workflow.

    README-building-trifacta-container.md

    Instructions for building the Trifacta container

    NOTE: This file does not apply if you are using the provided Docker image.

  4. Load the Docker image into your local Docker environment:

    docker load < trifacta-docker-image-x.y.z.tar


  5. Confirm that the image has been loaded. Execute the following command, which should list the Docker image:

    docker images
  6. You can now configure the Docker image. Please skip that section.

Build your own Docker image

As needed, you can build your own Docker image.

Requirements

  • Docker version 17.12 or later

  • Docker Compose 1.11.2 or newer. It should be compatible with above version of Docker.

Build steps

  1. Acquire the RPM file from the FTP site: 

    NOTE: You must acquire the el7 RPM file for this release.

  2. In your Docker environment, copy the  trifacta-server\*.rpm  file to the same level as the  Dockerfile .
  3. Verify that the docker-files folder and its contents are present.
  4. Use the following command to build the image:

    docker build -t trifacta/server-enterprise:latest .
  5. 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.

  6. You can now configure the Docker image.

Configure Docker Image

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:

FileDescription
docker-compose-local-postgres.yamlDatabase 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.yamlDatabase 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 Trifacta databases are to be installed on a remote server that you manage.

NOTE: Additional configuration is required.


NOTE: You may want to create a backup of this file first.

Key general properties:

NOTE: Avoid modifying properties that are not listed below.


PropertyDescription
imageThis reference must match the name of the image that you have acquired.
container_nameName of container in your Docker environment.
ports

Defines the listening port for the Trifacta application. Default is 3005.

NOTE: If you must change the listening port, additional configuration is required after the image is deployed. See Change Listening Port

For more information, see System Ports.

Database properties:

These properties pertain to the installation of the database to which the Trifacta application connects.

PropertyDescription
DB_INIT

If set to true, database initialization steps are performed at startup.

NOTE: This step applies only if you are starting the container for the first time, and PostgreSQL databases will be installed locally.

DB_TYPESet this value to postgresql or mysql.
DB_HOST_NAMEHostname 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 5432.

NOTE: If you are modifying, additional configuration is required after installation is complete. See Change Database Port.

DB_ADMIN_USERNAME

Admin username to be used to create DB roles/databases. Modify this value for remote installation.

NOTE: If you are modifying this value, additional configuration is required. Please see the documentation for your database version.

DB_ADMIN_PASSWORDAdmin 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.

PropertyDescription
KERBEROS_KEYTAB_FILE

Full path inside of the container where the Kerberos keytab file is located. Default value:

/opt/trifacta/conf/trifacta.keytab


NOTE: The keytab file must be imported and mounted to this location. Configuration details are provided later.

KERBEROS_KRB5_CONF

Full path inside of the container where the Kerberos krb5.conf file is located. Default:

/opt/krb-config/krb5.conf

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.


PropertyDescription
volumes.conf

Full path in container to the Trifacta configuration directory. Default:

/opt/trifacta/conf
volumes.logs

Full path in container to the Trifacta logs directory. Default:

/opt/trifacta/logs
volumes.license

Full path in container to the Trifacta license directory. Default:

/trifacta-license

Start Server Container

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:

DirectoryDescription
./trifacta-data

Used by the Trifacta container to expose the conf and logs directories.

Import Additional Configuration Files

After you have started the new container, additional configuration files must be imported.

Import license key file

The Trifacta license file 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 <docker-compose-filename> .yaml file.

trifacta-license/license.json

Import Hadoop distribution libraries

If the container you are creating is on the edge node of your Hadoop cluster, you must provide the Hadoop libraries.

  1. You must mount the Hadoop distribution libraries into the container. For more information on the libraries, see the documentation for your Hadoop distribution.
  2. The Docker Compose file must be made aware of these libraries. Details are below.

Import Hadoop cluster configuration files

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.

Install Kerberos client 

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.

Perform configuration changes as necessary

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.

Start and Stop the Container

Stop container

Stops the container but does not destroy it.

NOTE: Application and local database data is not destroyed. As long as the <docker-compose-filename> .yaml properties point to the correct location of the *-data files, data should be preserved. You can start new containers to use this data, too. Do not change ownership on these directories.


docker-compose -f <docker-compose-filename>.yaml stop

Restart container

Restarts an existing container.

docker-compose -f <docker-compose-filename>.yaml start

Recreate container

Recreates a container using existing local data.

docker-compose -f <docker-compose-filename>.yaml up --force-recreate -d

Stop  and destroy the container

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 Deployment

  1. Verify access to the server where the Trifacta platform is to be installed.

  2. Cluster Configuration: Additional steps are required to integrate the Trifacta platform with the cluster. See Prepare Hadoop for Integration with the Platform.

  3. Start the platform within the container. See Start and Stop the Platform.

Configuration

After installation is complete, additional configuration is required. You can complete this configuration from within the application. 

Steps:

  1. Login to the application. See Login.
  2. The primary configuration interface is the Admin Settings page. From the left menu, select Settings menu > Settings > Admin Settings. For more information, see Admin Settings Page in the Admin Guide.
  3. Workspace-level configuration can also be applied. From the left menu, select Settings menu > Settings > Workspace Admin. For more information, see Workspace Admin Page in the Admin Guide.

The Trifacta platform requires additional configuration for a successful integration with the datastore. Please review and complete the necessary configuration steps. For more information, see Configure in the Configuration Guide.

This page has no comments.