Install DPS Platform
DPS Platform and associated DPS Services need to be installed in a separate host that is not part of any cluster. DPS Platform is required for all DPS installations, but you can install any combination of DPS services with DPS Platform.
Prerequisites
The host on which you install DPS services must meet the following requirements:
Running CentOS 7.0-7.3 or RHEL 7.0.1-7.3 operating system
Has the following TCP ports available: 80, 443, 8443, 8500, 9011
Must be a dedicated host that is not part of an existing HDP cluster
This prevents potential port conflicts with other HDP services
If you are using an external database, which is recommended for production environments, the following is required:
External PostgreSQL database version 9.2 or above must have been installed and properly configured for remote access
A database must have been created for DPS
A database user must have been created and assigned full privileges for the database, to act as DPS database admin
During installation, you must have the following information available:
FQDN or IP address of the host on which DPS Platform will be installed
If using your own certificate, have the information available that you need to enter during installation.
If using an external database, have the host name, database name, user name, and password for the database
About This Task
You need root user access to perform this task.
As part of this task, you need to turn off SELinux to install and run Docker containers.
This is due to an issue with SELinux and Docker.
The DPS services only need to be installed on one remote host node.
No default password is provided during installation of DPS. The DataPlane administrator creates a password during the installation process.
The DPS Docker images are embedded in the binaries that you download, so you do not need internet access to complete the installation.
Although DPS includes an embedded PostgreSQL database, the embedded database is intended for nonproduction use. You should use an external database for production environments. Currently, PostgreSQL database is supported. After installing the database following the instructions provided with the database software, you must modify a configuration file to use the database with DPS.
Steps
Log in as root to the host on which you set up the DPS repositories.
sudo su
Disable Linux enforcement of permissions.
Important If you do not disable SELinux before installing the DPS service, then DPS will not install and run properly, and you will have to destroy and reinstall the containers.
setenforce 0 #A zero, not a letter sed -i 's/^SELINUX=.*/SELINUX=disabled/g' /etc/sysconfig/selinux
The second command prevents SELinux from being automatically re-enabled after a reboot.
Install and start the Docker service, if not installed.
yum install docker -y
service docker start
Install the RPMs for DPS Platform and associated services.
yum install dp-core yum install dlm-app
A folder is created that contains the Docker image tarball files and a configuration script.
If the yum commands fail, then the local repository was not set up correctly. Check the repository file
/etc/yum.repos.d/dp.repo
on the DPS host.Navigate to the folder containing the DPS configuration script.
cd /usr/dp/current/core/bin
Load all DPS Platform Docker images into the Docker repository of the local machine.
./dpdeploy.sh load
Loading the DPS Platform images might take a while.
Edit configuration properties in the
config.env.sh
file in/usr/dp/current/core/bin
.Modifying this file allows the properties to be automatically implemented. If you do not add the properties to this file, you need to enter them manually when the initialization script runs.
See “Installation Configuration Properties” for a list of the properties and descriptions.
Uncomment the following property and enter the IP address to set the IP address of the host where DPS containers are launched:
CONSUL_HOST="<ip-address>"
If you want to use the LDAP version included with DPS, uncomment and set the following property:
USE_TEST_LDAP="yes"
If using an external database (recommended), uncomment and modify the following properties to add the appropriate information for DPS to access the PostgreSQL database:
USE_EXT_DB="yes" DATABASE_URI="jdbc:postgresql://<host_name>:5432/<database_name>" DATABASE_USER="<user_name>" DATABASE_PASS="<password>"
If using your own certificate, uncomment and modify the following properties:
USE_TLS="true" USE_PROVIDED_CERTIFICATES="yes" PUBLIC_KEY_L="<absolute-path-of-public-key-file>" PRIVATE_KEY_L="<absolute-path-of-encrypted-private-key-file>"
Configure any other properties, as appropriate for your environment.
Run the DPS Platform initialization script.
./dpdeploy.sh init --all
During initialization, you are required to create a password for the administrative user and a master password for the system. Ensure that you remember these passwords, as they cannot be retrieved or reset by any user. If you forget the password, you must contact Hortonworks Support to reset the password.
Verify which DPS Platform UI containers are running.
docker ps
If using an external database, six containers should be running.
If using the packaged database, seven containers should be running, similar to what is shown in the following example:
If all of the containers are not running, you must destroy the containers and start over, as described in the troubleshooting section of this guide.
More Information
Preparing Your External Database