RPM Installation on Enterprise Linux 7
Audience: System Administrators
Content Summary: The base Enterprise Linux 7 RPM Immuta installation will include the Immuta Web Service and Query Engine.
Node Types
Throughout this guide the following node types will be referred to:
- Web Service: the Immuta Web Service.
- Query Engine: a component that interfaces with queryable source databases and provides users with the SQL access pattern. This database is also used to store Immuta application metadata.
- Load Balancer: a load balancer that can be placed in front of a number of Web Service nodes.
- Database Replica: an optional replica of the primary database. Can be used to distribute read-load horizontally.
- Database Replica Load Balancer: a load balancer that can be placed in front of Database Replicas.
Depending on the architecture all services may be installed and running on different servers, or some may be collocated.
Supported Node Configurations
The various components of Immuta can be configured a number of different ways. This section will describe the supported layouts.
Web Service
The Web Service is designed to be ephemeral, so it can be scaled horizontally as long as there is a Load Balancer to proxy traffic to each individual node.
Query Engine nodes
Immuta Query Engine database will be run with one instance as a primary. Additional instances can be added as replicas to provide horizontal scaling to support additional user SQL query activity.
Installation Prerequisites
Review the installation prerequisites before proceeding with installation.
Secure Password Generation
Three to four unique passwords need to be generated for the database users that the Immuta service will use to connect to the Metadata Database and Query Engine. The following walks through one method of generating secure passwords, however you may use an alternative method if you have one available.
Generate three unique passwords for the following users:
- bometadata
- feature_service
- immuta_replication (if using Query Engine Replica nodes)
The following reads a random bytes from /dev/urandom
, taking the first 30 alphanumeric characters. And exports a
unique password for each user.
Export these passwords into the environment on each node before proceeding with installation:
export IMMUTA_METADATA_PASSWORD=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 30 | head -n 1)
export IMMUTA_FEATURE_PASSWORD=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 30 | head -n 1)
export IMMUTA_REPLICATION_PASSWORD=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 30 | head -n 1)
Store these passwords in a secure place for future reference.
Determining the Immuta Base URL
The Immuta Base URL is the typically the hostname of the Load Balancer node. This can be a dedicated server, but depending on the infrastructure configuration, may be the hostname of the primary Web Service node. The base URL referenced throughout this guide uses the following format.
Export the Immuta Base URL into the environment on each node before proceeding with installation:
export IMMUTA_BASE_URL=https://<primary web node loadbalancer hostname>
YUM Repository
See Configuring the Immuta YUM Repository for details on how to obtain Immuta RPMs and make them available on your servers for installation.
Installation
Installation is broken down by node type. After completing every section, you will have a working Immuta installation.
Query Engine Installation
Once the database configuration is complete, export the following variables into the environment on each subsequent node before beginning installation:
export QUERY_ENGINE_HOSTNAME=<hostname of Immuta query engine database>
Web Service Load Balancer Installation
Next, if you are planning on scaling to multiple Immuta web service nodes configure the load balancer. You will need the hostname for each web service node you plan to configure.
Web Service Load Balancer Installation
Web Service Installation
Next, configure the web service nodes. Repeat the steps defined below on each web service node.
At this point you should be able to visit the Immuta Base URL and access your Immuta instance.
Database Replica Installation (optional)
If desired, you can now configure replication for your primary database.
Starting Services
In general, services can be rebooted in any order. However, when starting from a state where all services are stopped, it is important to start services in the following order:
- Immuta Query Engine
- Load Balancer
- Immuta Web Service
Configuring ODBC Drivers
See Configuring ODBC Drivers for instructions on installing ODBC drivers and configuring Immuta to connect to queryable data sources.