Contents:
The Trifacta® platform requires access to the following databases.
- Main database: storage of users and metadata about your datasets, including completed jobs.
- Jobs database: storage of job tracking information. Jobs are purged upon completion or job timeout. Failed jobs are purged periodically.
- Configuration Service database: storage of parameter settings at the workspace level.
- Artifact Storage Service database: storage for feature usage data such value mappings for the standardization feature.
The scheduling feature is enabled by default. If it's enabled, the following databases are also required:
- Scheduling database: Storage of schedules, including datasets to execute
- Time-based Trigger database: Storage of triggering information.
- For more information, see Configure Automator.
This section describes how to install the database server, after which you can create and initialize the databases and their users.
Pre-requisites
- The installing user must have write permissions to the directory from which the commands are executed.
- The installing user must have sudo privileges.
Acquire MySQL Java driver
The MySQL Java driver is not packaged with the Trifacta installer. If you are installing the Trifacta databases into MySQL, please acquire the following driver files.
File 1:
mysql-connector-java-6.0.6.jar
This file can be downloaded from the following locations:
This file needs to be installed in the following locations on the Trifacta node:
/opt/trifacta/services/artifact-storage-service/build/install/artifact-storage-service/lib/mysql-connector-java-6.0.6.jar /opt/trifacta/services/configuration-service/build/install/configuration-service/lib/mysql-connector-java-6.0.6.jar /opt/trifacta/services/batch-job-runner/build/install/batch-job-runner/lib/mysql-connector-java-6.0.6.jar /opt/trifacta/services/scheduling-service/server/build/install/scheduling-service/lib/mysql-connector-java-6.0.6.jar /opt/trifacta/services/time-based-trigger-service/server/build/install/time-based-trigger-service/lib/mysql-connector-java-6.0.6.jar
File 2:
mysql-connector-java-5.1.37.jar
This file can be downloaded from here:
This file needs to be installed in the following location:
/opt/trifacta/services/secure-token-service/server/build/install/secure-token-service/lib/mysql-connector-java-5.1.37.jar
Select Configuration File
If you are installing the database in a MySQL instance, a separate base configuration has been provided. This configuration file is stored in the following location:
/opt/trifacta/conf/trifacta-conf.json.MYSQL_DB
To use MySQL, you should back up the default configuration file and then copy the MySQL version in its place:
If you have already applied configuration changes to
trifacta-conf.jsonthrough the above file or the Admin Settings page, these changes are lost when the following steps are performed. You must manually migrate those changes over or apply the MySQL changes manually.
cp /opt/trifacta/conf/trifacta-conf.json /opt/trifacta/conf/trifacta-conf.json.POSTGRES_DB cp /opt/trifacta/conf/trifacta-conf.json.MYSQL_DB /opt/trifacta/conf/trifacta-conf.json
Database Install
NOTE: The following distributions and commands are for MySQL Community Server 5.7.
O/S Distribution | URL | Package Name |
---|---|---|
CentOS 6 | https://dev.mysql.com/get/mysql80-community-release-el6-1.noarch.rpm | mysql-community-server |
CentOS 7 | https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm | mysql-community-server |
RHEL 6 | https://dev.mysql.com/get/mysql80-community-release-el6-1.noarch.rpm | mysql-community-server |
RHEL 7 | https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm | mysql-community-server |
Ubuntu 14.04 | https://dev.mysql.com/get/mysql-apt-config_0.8.10-1_all.deb | |
Ubuntu 16.04 | https://dev.mysql.com/get/mysql-apt-config_0.8.10-1_all.deb |
For CentOS 6.x:
# Install MySql Repo List sudo wget https://dev.mysql.com/get/mysql80-community-release-el6-1.noarch.rpm sudo rpm -Uvh mysql80-community-release-el6-1.noarch.rpm # Check list of available Mysql Repos; by default 8.0 is enabled, but we want 5.7 yum repolist all | grep mysql # Disable 8.0 and enable 5.7 sudo yum-config-manager --disable mysql80-community sudo yum-config-manager --enable mysql57-community # Verify repo state yum repolist all | grep mysql # Install Mysql Server sudo yum install mysql-community-server # Start mysql server sudo service mysqld start # Verify status sudo service mysqld status
For CentOS 7.x:
# Install MySql Repo List sudo wget https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm sudo rpm -Uvh mysql80-community-release-el7-1.noarch.rpm # Check list of available Mysql Repos; by default 8.0 is enabled, but we want 5.7 yum repolist all | grep mysql # Disable 8.0 and enable 5.7 sudo yum-config-manager --disable mysql80-community sudo yum-config-manager --enable mysql57-community # Verify repo state yum repolist all | grep mysql # Install Mysql Server sudo yum install mysql-community-server # Start mysql server sudo systemctl start mysqld.service # Verify status sudo systemctl status mysqld.service
For Red Hat Enterprise Linux 6.x: See CentOS 6 above.
For Red Hat Enterprise Linux 7.x: See CentOS 7 above.
For Ubuntu 14.04:
# Install and configure repo config package wget https://dev.mysql.com/get/mysql-apt-config_0.8.10-1_all.deb sudo debconf-set-selections <<< "mysql-apt-config mysql-apt-config/select-server select mysql-5.7" sudo DEBIAN_FRONTEND=noninteractive dpkg -i mysql-apt-config_0.8.10-1_all.deb sudo apt-get update # Set Installer configs Admin password and install MySql Server package sudo debconf-set-selections <<< "mysql-community-server mysql-community-server/root-pass password <MYSQL_ADMIN_PASSWORD>" sudo debconf-set-selections <<< "mysql-community-server mysql-community-server/re-root-pass password <MYSQL_ADMIN_PASSWORD>" sudo DEBIAN_FRONTEND=noninteractive apt-get install mysql-community-server sudo service mysql start
For Ubuntu 16.04:
# Install and configure repo config package sudo apt-get update && sudo apt-get install lsb-release wget https://dev.mysql.com/get/mysql-apt-config_0.8.10-1_all.deb sudo debconf-set-selections <<< "mysql-apt-config mysql-apt-config/select-server select mysql-5.7" sudo DEBIAN_FRONTEND=noninteractive dpkg -i mysql-apt-config_0.8.10-1_all.deb sudo apt-get update # Set Installer configs Admin password and install MySql Server package sudo debconf-set-selections <<< "mysql-community-server mysql-community-server/root-pass password <MYSQL_ADMIN_PASSWORD>" sudo debconf-set-selections <<< "mysql-community-server mysql-community-server/re-root-pass password <MYSQL_ADMIN_PASSWORD>" sudo DEBIAN_FRONTEND=noninteractive apt-get install mysql-community-server sudo service mysql start
Acquire Port Information
After you have completed the installation, you must acquire the port information for each database from the following locations on the Trifacta node. These port numbers need to be applied inside the Trifacta platform.
CentOS/RHEL (MySQL 5.7):
The default port is 3306
. See System Ports.
Ubuntu (MySQL 5.7) : Not supported.
Update MySQL Password Policy
NOTE: This section only applies to CentOS and RHEL platforms only where MySQL is the installed database.
By default, MySQL enforces a stricter password policy on database passwords. If you prefer to set your own passwords outside of this policy, you must lower the password policy. Please complete the following steps:
# Get temporary root password from mysql log sudo grep 'temporary password' /var/log/mysqld.log # Connect to server as root mysql -uroot -p # Update password ALTER USER 'root'@'localhost' IDENTIFIED BY '<my_new_password>'; # Unless you plan to update all the User passwords to be meet MySql Security requirements, you should set the password policy to low SET GLOBAL validate_password_policy=LOW;
This page has no comments.