Install Unravel
Before installing, make sure that you meet the Unravel installation requirements. To install Unravel, do the following:
1. Download Unravel
From the Download page, follow the instructions to download Unravel version 4.6.2.1.
2. Deploy Unravel binaries
Unravel binaries are shipped as a TAR file as well as an RPM package. You can deploy these binaries in any directory on the server. The user who installs Unravel must have the write permissions to the directory where Unravel binaries are deployed.
Deploying Unravel from a TAR file
To deploy Unravel binaries from a TAR file, do the following:
Create an Installation directory and grant ownership of the directory to the user who installs Unravel. This user executes all the processes involved in Unravel installation.
mkdir
/path/to/installation/directory
chown -Rusername
:groupname
/path/to/installation/directory
Extract the downloaded Unravel TAR file to the installation directory, which was created as part of the prerequisite.
tar zxf unravel-<version>tar.gz -C /path/to/installation/directory
For example:
tar zxf unravel-<version>tar.gz -C /opt
The
Unravel
directory is now available in/opt
.
Deploying Unravel from an RPM package
To deploy Unravel binaries from an RPM package, run the following command as a root user:
Create a directory
/usr/local/unravel
and grant ownership of the directory to a user who will run Unravel.mkdir
/path/to/installation/directory
chown -Rusername
:groupname
/path/to/installation/directory
For example:
mkdir /opt/unravel chown -R
username
:groupname
/opt/unravel
Run the following command as a root user:
rpm -i unravel-<version>.rpm
This deploys the binaries to
/usr/local/unravel
. In case you want to deploy the binaries to a specific directory, run the following command:rpm -i unravel-<version>.rpm --prefix
/path/to/installation directory
For example:
rpm -i unravel-<version>.rpm --prefix
/opt
The
Unravel
directory will be available in/opt
.
3. Run setup
After deploying the Unravel binaries, run the setup command from the installation directory.
Run the setup command as follows:
<Unravel installation directory>/versions/<unravel version>/setup
For example:
/opt/unravel/versions/4.7.0.0/setup
When you run the setup command for the first time, you can pass additional parameters for integrating an external database or changing the default data directory:
Precheck is automatically run when you run the setup command. The precheck output displays the issues that prevent a successful installation and also provides suggestions to resolve them. You must resolve each of the issues before proceeding.
Following is a sample output of the Precheck run:
2020-07-17 21:23:12 Sending logs to: /tmp/healthcheck-20200717212312-server.domain.com/healthcheck.log 2020-07-17 21:23:13 Gathering information ................ Ok 2020-07-17 21:23:36 Running checks .................... Ok -------------------------------------------------------------------------------- system --------------------------------------- Check uptime : OK Clock sync : OK CPU requirement : OK, 8 cores Disk access : OK, /tmp/healthcheck/healthcheck/plugins/system is writable Disk freespace : OK, precheck, found 152 GB. Kerberos tools : OK Memory requirement : OK, 98 GB Network ports : OK OS libraries : OK OS release : OK, centos 7.6 OS settings : OK SELinux : OK Tmp noexec : OK -------------------------------------------------------------------------------- hadoop --------------------------------------- Clients : OK - Found hadoop - Found hdfs - Found yarn - Found hive - Found beeline Distribution : OK, found CDH 6.1.1 HDFS access : OK, / YARN access : OK Healthcheck bundle: /tmp/healthcheck-20200717212312-server.domain.com.tar.gz
Note
In certain situations, you can skip the precheck using the setup --skip-precheck.
For example:
/opt/unravel/versions/<Unravel version>/setup --cluster-access abc1011.p2g.net.eu.xyz --skip-precheck
You can also skip the checks that you know can fail. For example, if you want to skip memory and Hadoop checks, run the setup command as follows:
setup --filter-precheck ~hadoop,~mem_minimum
Integrate database
If the setup command is run without additional parameters, the Unravel managed PostgreSQL database is used, which is shipped with the installer. However, if you want to use Unravel managed MySQL, MariaDB, or an external database, you can pass additional parameters with the setup command.
Example:
<unravel_installation_directory>/versions/<build>/setup --extra /tmp/mysql
<unravel_installation_directory>/versions/<build>/setup --extra /tmp/<MySQL-directory> --external-database
TYPE
HOST PORT SCHEMA USERNAME PASSWORD/Note
Refer to Integrate database for all the requirements and details to integrate another database.
Change Unravel data directory
All the Unravel data and configurations are located in the
data
directory. By default, the installer maintains the data directory under<Unravel installation directory>/data
. However, if you want to provide a different directory for data, you can run the setup command as follows:<unravel_installation_directory>/versions/<build>/setup --data-directory
/the/data/directory
Note
Similarly, you can configure separate directories for other unravel directories. Contact support for assistance.
Run --help with the setup command and any combination of the setup command for complete usage details.
4. Add configurations
Run manager config auto command to automatically pull in all the Hadoop configurations. You will be prompted to provide the location and credentials for Cloudera Manager or Ambari UI.
<unravel_installation_directory>/manager config auto
If you are using Kerberos authentication, set the principal path and keytab and then enable Kerberos authentication.
<Unravel installation directory>/manager config kerberos set --keytab /etc/security/keytabs/unravel.service.keytab --principal unravel/server@example.com <Unravel installation directory>/manager config kerberos enable
Run the following steps from the manager tool to add certificates to the Truststore:
Autodetect file format based on the extension:
<unravel_installation_directory>/manager config tls trust add
<certificates>
Force the uploading of certificate (pem/jks/pkcs) files from the installation directory:
manager config tls trust add --pem
<certificates>
manager config tls trust add --jks<certificates>
manager config tls trust add --pkcs12<certificates>
Enable the Truststore
manager config tls trust
<enable|disable>
You can set additional Unravel configurations either at this point or later after you start all Unravel services.
Start all the services:
<unravel_installation_directory>/manager start
Check the status of the services:
<unravel_installation_directory>/manager report
Optionally, you can run healthcheck, after completing all the configurations, to check if all the Unravel configurations and services are running successfully.
<unravel_installation_directory>/manager healthcheck
Healthcheck is run automatically, in the backend, in intervals.
Installing Unravel in a multi-cluster environment
Post-installation steps
While installing Unravel or after the installation, you can set various configurations for Unravel using the manager service.
When you run the manager config auto command, the cluster information is automatically read, and the Hadoop properties are configured. However, you can also do manual configurations. Refer to Configuring Unravel for more details.
Also, check the following:
Configurations for the complete list of Unravel configurations that you can set manually.
Unravel properties for the complete list of Unravel properties.
You can integrate Unravel managed database as well as an external database for usage with Unravel. Unravel supports MySQL, MariaDB, and PostgreSQL (Postgres). Check the compatibility matrix for the versions of MySQL, MariaDB, and Postgres compatible with the corresponding Unravel platform version.
You can integrate Unravel-managed MySQL as well as external MySQL with Unravel.
Important
The following packages must be installed for fulfilling the OS level requirements for MySQL:
numactl-libs (for libnuma.so)
libaio (for libaio.so)
To integrate with Unravel managed MySQL, do the following:
Create a
mysql
directory in/tmp
. Provide permissions and make them accessible to the user who installs Unravel.Download the following tar files for MySQL/MariaDB server to
/tmp/mysql
directory:mysql-5.7.27-linux-glibc2.12-x86_64.tar.gz
mysql-connector-java-5.1.48.tar.gz
Run the following command, as an Unravel user, to setup Unravel with MySQL database:
<unravel_installation_directory>/versions/<build>/setup --extra /tmp/mysql
This will configure and manage MySQL for usage with Unravel.
For configuring an external MySQLdatabase with Unravel, you must provide the JDBC connector. This can either be as a tar file or as a jar file.
To integrate Unravel with an external database, do the following:
Create unravel schema and user on the target database where the unravel user should have full access to the schema.
Create a directory for MySQL in
/tmp
. Provide permissions and make them accessible to the user who installs Unravel.Add the JDBC connector to
/tmp/<MySQL-directory>/<jdbcconnector>
directory. This can be either a tar file or a jar file.Run the following command, as Unravel user, to setup Unravel with an external MySQL database:
<unravel_installation_directory>/versions/<build>/setup --extra /tmp/<MySQL-directory> --external-database mysql
<HOST>
<PORT>
<SCHEMA>
<USERNAME>
<PASSWORD>
/Note
The HOST, PORT, SCHEMA, USERNAME, PASSWORD are optional fields and are prompted if missing.
This will setup Unravel with an external MySQL.
Note
In the case of MySQL 8.0, the client does not support the authentication protocol requested by the server, and there can be a failed connection to the database. Run the following to resolve this authentication issue:
ALTER USER'unravel'
@'unravel-host'
IDENTIFIED WITH mysql_native_password BY'password'
;flush privileges;
Where unravel
is your user, unravel-host
is the URL, and password
is your password.
You can integrate Unravel with MariaDB by providing a Java JDBC connector.
Important
The following packages must be installed for fulfilling the OS level requirements for MariaDB:
numactl-libs (for libnuma.so)
libaio (for libaio.so)
To configure with Unravel managed MariaDB, do the following:
Create a
mariadb
directory in/tmp
. Provide permissions and make them accessible to the user who installs Unravel.Download the following tar files for mariadb server to
/tmp/mysql
directory:mariadb-10.4.13-linux-x86_64.tar.gz
mariadb-java-client-2.6.0.jar
Run the following command, as an Unravel user, to setup Unravel with MariaDB database:
<unravel_installation_directory>/versions/<build>/setup --extra /tmp/mariadb
This will configure and manage MariaDB for usage with Unravel.
For configuring an external MariaDB database with Unravel, you must provide the JDBC connector. This can either be as a tar file or as a jar file.
To integrate Unravel with external MariaDB, do the following:
Create unravel schema and user on the target database where the unravel user should have full access to the schema.
Create a directory for MariaDB in
/tmp
. Provide permissions and make them accessible to the user who installs Unravel.Add the JDBC connector to
/tmp/<MariaDB-directory>/<jdbcconnector>
directory. This can be either a tar file or a jar file.Run the following command, as Unravel user, to setup Unravel with an external MariaDB database:
<unravel_installation_directory>/versions/<build>/setup --extra /tmp/
<MariaDB-directory>
--external-database mariadb<HOST>
<PORT>
<SCHEMA>
<USERNAME>
<PASSWORD>
/Note
The HOST, PORT, SCHEMA, USERNAME, PASSWORD are optional fields and are prompted if missing.
This will setup Unravel with an external MariaDB.
You can configure external PostgreSQL, as well as the Unravel, managed PostgreSQL.
To configure the Unravel managed Postgres database, all you need to do is run the setup command:
<unravel_installation_directory>/versions/<build>/setup
To configure external PostgreSQL, do the following:
Create unravel schema and user on the target database where the unravel user should have full access to the schema.
Run the following command from the installation directory:
<unravel_installation_directory>/versions/<build>/setup --external-database postgresql
<HOST>
<PORT>
<SCHEMA>
<USERNAME>
<PASSWORD>
/Note
The HOST, PORT, SCHEMA, USERNAME, PASSWORD are optional fields and are prompted if missing.
This will setup Unravel with an external PostgreSQL.