Home

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:

  1. 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 -R username:groupname /path/to/installation/directory
  2. 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:

  1. 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 -R username:groupname /path/to/installation/directory

    For example:

    mkdir /opt/unravel
    chown -R username:groupname /opt/unravel
  2. 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
  1. 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
    
  2. 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
    
    
  3. Run the following steps from the manager tool to add certificates to the Truststore:

    1. Autodetect file format based on the extension:

      <unravel_installation_directory>/manager config tls trust add <certificates>
      
    2. 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>
      
    3. Enable the Truststore

      manager config tls trust <enable|disable>
      
  4. You can set additional Unravel configurations either at this point or later after you start all Unravel services.

  5. Start all the services:

    <unravel_installation_directory>/manager start
    
  6. Check the status of the services:

    <unravel_installation_directory>/manager report
    
  7. Enable additional instrumentation.

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

Refer to 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:

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.

Unravel managed MySQL

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:

  1. Create a mysql directory in /tmp. Provide permissions and make them accessible to the user who installs Unravel.

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

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

External MySQL

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:

  1. Create unravel schema and user on the target database where the unravel user should have full access to the schema.

  2. Create a directory for MySQL in /tmp. Provide permissions and make them accessible to the user who installs Unravel.

  3. Add the JDBC connector to /tmp/<MySQL-directory>/<jdbcconnector> directory. This can be either a tar file or a jar file.

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

Unravel managed MariaDB

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:

  1. Create a mariadb directory in /tmp. Provide permissions and make them accessible to the user who installs Unravel.

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

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

External MariaDB

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:

  1. Create unravel schema and user on the target database where the unravel user should have full access to the schema.

  2. Create a directory for MariaDB in /tmp. Provide permissions and make them accessible to the user who installs Unravel.

  3. Add the JDBC connector to /tmp/<MariaDB-directory>/<jdbcconnector> directory. This can be either a tar file or a jar file.

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

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
External PostgreSQL

To configure external PostgreSQL, do the following:

  1. Create unravel schema and user on the target database where the unravel user should have full access to the schema.

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