The
requires access to two 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.
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 Scheduling.
This section describes how to install the database server, after which you can create and initialize the databases and their users.
Limitations
- You must install a supported version of the database. For more information on supported versions of this database type, see System Requirements.
- SSL connections are not supported.
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
. If you are installing the
into MySQL, please acquire the following driver file:
Code Block |
---|
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
:
Code Block |
---|
/opt/trifacta/services/batch-job-runner/build/install/batch-job-runner/lib/
/opt/trifacta/services/scheduling-service/server/build/install/scheduling-service/lib/
/opt/trifacta/services/time-based-trigger-service/server/build/install/time-based-trigger-service/lib/ |
Select Configuration File
By default, the
assumes that you are installing the databases in a PostgreSQL instance. This configuration file is stored here:
Code Block |
---|
/opt/trifacta/conf/trifacta-conf.json |
If you are installing the database in a MySQL instance, a separate base configuration has been provided. This configuration file is stored next to the above:
Code Block |
---|
/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:
Warning |
---|
If you have already applied configuration changes to through 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. |
Code Block |
---|
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
PostgreSQL
Info |
---|
NOTE: The following distributions and commands are for PostgreSQL 9.6. |
O/S Distribution | URL | Package Name |
---|
CentOS 6 | https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-6-x86_64/pgdg-centos96-9.6-3.noarch.rpm | postgresql96-server |
CentOS 7 | https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7-x86_64/pgdg-centos96-9.6-3.noarch.rpm | postgresql96-server |
RHEL 6 | https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-6-x86_64/pgdg-centos96-9.6-3.noarch.rpm | postgresql96-server |
RHEL 7 | https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7-x86_64/pgdg-centos96-9.6-3.noarch.rpm | postgresql96-server |
For CentOS 6.x:
Code Block |
---|
wget https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-6-x86_64/pgdg-centos96-9.6-3.noarch.rpm
sudo yum -y install pgdg-centos96-9.6-3.noarch.rpm
sudo yum -y install postgresql96-server |
For CentOS 7.x:
Code Block |
---|
wget https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7-x86_64/pgdg-centos96-9.6-3.noarch.rpm
sudo yum -y install pgdg-centos96-9.6-3.noarch.rpm
sudo yum -y install postgresql96-server |
For Red Hat Enterprise Linux 6.x:
Code Block |
---|
wget https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-6-x86_64/pgdg-redhat96-9.6-3.noarch.rpm
sudo yum -y install pgdg-redhat96-9.6-3.noarch.rpm
sudo yum -y install postgresql96-server |
For Red Hat Enterprise Linux 7.x:
Code Block |
---|
wget https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7-x86_64/pgdg-redhat96-9.6-3.noarch.rpm
sudo yum -y install pgdg-redhat96-9.6-3.noarch.rpm
sudo yum -y install postgresql96-server |
For Ubuntu 14.04:
Add the repository's archive key to your apt-key keyring:
Code Block |
---|
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add - |
Create a file named /etc/apt/sources.list.d/pgdg.list
, containing the following:
Code Block |
---|
deb http://apt.postgresql.org/pub/repos/apt/ trusty-pgdg main
deb-src http://apt.postgresql.org/pub/repos/apt/ trusty-pgdg main |
Run the following command:
Code Block |
---|
sudo apt-get update
sudo apt-get install -y postgresql-9.6 |
For Ubuntu 16.04:
Add the repository's archive key to your apt-key keyring:
Code Block |
---|
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add - |
Create a file named /etc/apt/sources.list.d/pgdg.list
, containing the following:
Code Block |
---|
deb http://apt.postgresql.org/pub/repos/apt/ xenial-pgdg main |
Run the following command:
Code Block |
---|
sudo apt-get update
sudo apt-get install -y postgresql-9.6 |
MySQL
Info |
---|
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:
Code Block |
---|
# 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:
Code Block |
---|
# 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:
Code Block |
---|
# 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:
Code Block |
---|
# 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 |
After you have completed the installation, you must acquire the port information for each database from the following locations on the
. These port numbers need to be applied inside the
.
PostgreSQL
CentOS/RHEL (PostgreSQL 9.6):
Code Block |
---|
/var/lib/pgsql/9.6/data/postgresql.conf |
Ubuntu (PostgreSQL 9.6) :
Code Block |
---|
/etc/postgresql/9.6/main/postgresql.conf |
MySQL
CentOS/RHEL (MySQL 5.7):
The default port is 3306
. See System Ports.
Ubuntu (MySQL 5.7) : Not supported.
Update MySQL Password Policy
Info |
---|
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:
Code Block |
---|
# 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; |