In this Page
Table of Contents | ||
---|---|---|
|
Install a Snaplex on Linux
This article describes the procedures for installing an on-premise Snaplex on Linux OS. For prerequisites, see Requirements for On-premises Snaplex.
...
title | Groundplex Installation |
---|
In this Page
Table of Contents | ||
---|---|---|
|
Install a Snaplex on Linux
This article describes the procedures for installing an on-premise Snaplex on Linux OS. An on-premise Snaplex is also known as a Groundplex. This document uses the term Groundplex to distinguish this type of Snaplex (on-premise) from other types, such as a Clouplex or
...
an eXtremeplex. Note that in command syntax and throughout the UI, the generic term Snaplex is used.
Groundplex installation covers the following tasks:
- Setting up a Groundplex
- Deploying FeedMaster
- Importing a certificate to SnapLogic node.
For prerequisites, see Requirements for On-premises Snaplex.
Note | ||
---|---|---|
| ||
The Linux installer comes bundled with the JRE necessary for this Snaplex. We recommend you use the patch version of Java 11 that is bundled with the installer for your Linux environment. To update your Snaplex to the Java 11, see Upgrading Your Groundplex to Java 11 . |
Groundplex installation covers the following tasks:
- Setting up a Groundplex
- Deploying FeedMaster
- Importing a certificate to SnapLogic node.
...
. |
Setting up a Groundplex
...
:
- As Log into SnapLogic Manager as an Org -level admin, log into Manager.
- Under Project Spaces on the left, locate the project where you want to create your Groundplex (or the global shared project), then select the Snaplexes tab on the right.
- Click the Create button and complete the Create dialog (later known as the Updating Snaplex dialog). Once completed, the dialog reopens to the Downloads paneladmin.
- Navigate to the project where you want to create your Groundplex, then do one of the following:
- Click the Snaplex tab, then click to display the Snaplex popup.
OR
- Click to display the Assets drop-down list, then select Snaplex; the Snaplex popup appears.
- Click the Snaplex tab, then click to display the Snaplex popup.
- Enter the required information on the Create Snaplex form. Once completed, the Downloads tab on the Snaplex popup is displayed.
- Download the RPM/DEB and the configuration file onto a Linux machine. The Downloads panel has links to the installer and config configuration files.
For CentOS (or Redhat) 6.3 or newer,
run the following command
sudo rpm -i <filename>.rpm
For Ubuntu 14.04 or newer,
run the following command:
sudo dpkg -i <filename>.deb
.where <filename> is the name of the current installer file.
After the software has been is installed, place the downloaded configuration file in the "
/opt/snaplogic/etc
" directory and make sure the file name ends with.slpropz
. Change Change the slpropz file to be owned by snapuser user, by runningso that snapuser owns it by running the following commands:Code Block sudo chown snapuser:snapuser /opt/snaplogic/etc/myplex.slpropz sudo chmod 600 /opt/snaplogic/etc/myplex.slpropz
- To start the on-premises Snaplex service, typerun:
$ sudo /opt/snaplogic/bin/jcc.sh start
- To verify the Snaplex has started, visit https://elastic.snaplogic.com/sl/dashboard.html#Health. The newly install installed Snaplex node should show up in the list of nodes for the Snaplex.
Info | ||
---|---|---|
For Snaplex downloads prior to Fall 2016 (4.7):
The RPM installation needs to be performed as the root user. The service startup needs to be done as the root user, the JCC process itself runs as the user snapuser. This allows enhanced security by allowing the keys stored in /etc/snaplogic to be protected from access by regular users. If enhanced encryption is not being used, it is possible to enable the service startup to be done directly as snapuser. To do that, perform steps 1 to 4 as above, then do:
The service start and stop can then be done as snapuser without needing root access.
|
...
Setting up a FeedMaster
You can designate a Groundplex as a FeedMaster by setting the Snaplex node types on the Node Properties panel in the Update Snaplex dialog. For complete instructions, see Deploying a FeedMaster Node.
Info |
---|
Prior to Fall 2016 (4.7)Setting up a FeedMaster should be the same as a JCC (installing the rpm, copying keys, etc). The only configuration change is to add the following to the global.properties file:
That will switch to the FeedMaster mode instead of JCC. The FeedMaster does not have the same outbound websocket requirement as the JCC, but it still needs to contact elastic.snaplogic.com. |
Import a Certificate to the SnapLogic JCC
While configuring accounts for various Snap Packs, you might encounter the following error message:
...
- Get the certificate (.pem) file by using SSH.
Import the file by using the following command in the JCC node:
Paste code macro /opt/snaplogic/pkgs/jre1.8.0_45/bin/keytool -import -file <path_to_pem_file_from_step_1> -alias <alias_name_optional> -keystore /opt/snaplogic/pkgs/jre1.8.0_45/lib/security/cacerts -vEnter keystore password: changeit
Note This example is an excerpt from 1.8.0_45; the directory path may vary based on the Java installation directory.
- Restart the JCC process to confirm the import.
Run the following command to list certificates from the cacerts file:
Paste code macro /opt/snaplogic/pkgs/jre1.8.0_45/bin/keytool -list --keystore /opt/snaplogic/pkgs/jre1.8.0_45/lib/security/cacerts -v+
...
Code Block |
---|
update-rc.d -f snaplex remove |
System Limits
Some Linux installations have system ulimit settings set to low values. This can cause errors when running higher pipeline load on the node. The error usually seen is "java.lang.OutOfMemoryError: unable to create new native thread". To fix this, system limits for the Snapuser user need to be increased. The below can be added in the /etc/security/limits.conf to increase the file and process limits.
Note |
---|
The JCC process needs to be restarted after the limits are updated. |
...
- Stop the existing JCC node by running the following command:
$ sudo /opt/snaplogic/bin/jcc.sh stop
- Download the new Snaplex installer and install the Groundplex, running the RPM, DEB, or Docker installers as appropriate.
- For RPM systems, run the following command:
$
rpm -U snaplogic-snaplex.rpm
- For DEB systems, run the following command:
$
dpkg -i snaplogic-snaplex.deb
- For Docker, stop the existing container and start a new container using the latest image.
- For RPM systems, run the following command:
- Add the following entry to the
/etc/sysconfig/jcc
directory. You must create this directory and file if neither are present.export SL_JAVA_HOME=/opt/snaplogic/pkgs/jdk-11.0.1/
- Start the JCC node by running the following command:
$ sudo /opt/snaplogic/bin/jcc.sh start
.
...
- Run the following commands after installing the RPM/DEB package:
sudo mv /opt/snaplogic /myopt/myroot
sudo chown -R myuser /myopt/myroot
- Add the following entities in the
/etc/sysconfig/jcc
file. If this file does not exist, create it.export SL_USER=myuser
export SL_ROOT=/myopt/myroot
- Restart the service with the following command:
sudo /myopt/myroot/bin/jcc.sh restart
- To make a service using init.d, make the
/etc/init.d/snaplex
file a symlink to the/myopt/myroot/bin/jcc.sh
file.
Groundplex on Azure
When running a Linux Groundplex on Azure, the default TCP keep alive settings on Azure have been seen to cause connectivity issues between the Groundplex and the SnapLogic control plane. The workaround is to disable keep alive in the JCC configuration. Add the following in global.properties
and restart the JCC using "/opt/snaplogic/bin/jcc.sh restart
"
Code Block |
---|
jcc.jvm_options = -Dhttp.keepAlive=False -Dcom.ning.http.client.AsyncHttpClientConfig.allowPoolingConnection=false -Dcom.ning.http.client.AsyncHttpClientConfig.allowSslConnectionPool=false |
Note |
---|
If you are unable to create an SLDB file using international language characters (such as æ, Æ, Ø) in the file name, update the 'jcc.use_lease_urls' property in the Snaplex's Global Properties to False. This workaround works for all UTF-8 characters, and hence supports all global languages. |