In this article
This article describes the procedures for installing an on-premise Snaplex in a Linux environment. 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 a Cloudplex, which is managed by SnapLogic. However, in command syntax and references to the UI, the generic term Snaplex is used.
Groundplex installation covers the following tasks:
For prerequisites, see Requirements for On-premises Snaplex.
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. |
fontconfig
and zip
as required dependencies:For CentOS (or Redhat) 6.3 or newer, run the following commands:$ sudo yum install fontconfig zip
$ sudo rpm -i <filename>.rpm
For Ubuntu 14.04 or newer, run the following command: $ sudo yum install fontconfig zip
$ sudo dpkg -i <filename>.deb
Where <filename> is the name of the current installer file.
After the software is installed, place the downloaded configuration file in the /opt/snaplogic/etc
directory and make sure the file name ends with .slpropz
. Change the .slpropz
file so that snapuser owns it by running the following commands:
$ sudo chown snapuser:snapuser /opt/snaplogic/etc/myplex.slpropz $ sudo chmod 600 /opt/snaplogic/etc/myplex.slpropz |
$ sudo /opt/snaplogic/bin/jcc.sh start
Some Snaps, such as the SQL Bulk Load Snaps, require write and execute permissions to the |
Ultra Pipelines require that you set up a FeedMaster along with the JCC (Java Component Container) nodes in your Groundplex. For details, see Deploying a FeedMaster Node. |
To generate and import a self-signed certificate on all the JCC nodes in the Snaplex:
Import the file by using the following command in the JCC node:
/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 |
This example is an excerpt from 1.8.0_45; the directory path might vary based on the Java installation directory. |
Run the following command to list certificates from the CAcerts file:
/opt/snaplogic/pkgs/jre1.8.0_45/bin/keytool -list --keystore /opt/snaplogic/pkgs/jre1.8.0_45/lib/security/cacerts -v+ |
The steps to import the certificate to the JCC node can vary based on the certificate format and the OS. |
While configuring accounts for various Snap Packs, you might encounter the following error message:
If this error occurs, update the CAcert trust store in the SnapLogic JCC nodes to enable a successful TLS (SSL) handshake to the target endpoint. Find the trust store at |
You can use either the systemd
or init.d
utility to start and stop the Snaplex. Procedures for both are included below. The procedures vary depending on which Linux distribution is installed on the Snaplex host.
Use this procedure for Red Hat-like Linux distributions such as Red Hat, Fedora CoreOS, CentOS, and SuSE.
To add the Snaplex as a Service:
Create the startup service file:
touch /etc/systemd/system/snaplogic.service |
Change the permissions on the file:
chmod 664 /etc/systemd/system/snaplogic.service |
This change provides read and write permissions for the owner and group, and read permission for others.
Open the file with a text editor. For example, the using a vim editor:
vim /etc/systemd/system/snaplogic.service |
Add the following text to the file:
[Unit] Description=SnapLogic JVM After=network.target [Service] Type=forking ExecStart=/opt/snaplogic/bin/jcc.sh start ExecReload=/opt/snaplogic/bin/jcc.sh restart ExecStop=/opt/snaplogic/bin/jcc.sh stop [Install] WantedBy=default.target |
Enable the service by running the following command:
systemctl enable snaplogic.service |
The service will start automatically when the host reboots.
Start the service:
systemctl start snaplogic.service |
To stop the Snaplex as a service, run the following command:
systemctl disable snaplogic.service |
Use this procedure for Red Hat-like Linux distributions such as Red Hat, Fedora CoreOS, CentOS, and SuSE.
To add the Snaplex as a service:
Change directories:
cd /etc/init.d/ |
Create a softlink to the jcc.sh
file:
ln -s /opt/snaplogic/bin/jcc.sh snaplex |
Add the softlink to chkconfig
management:
chkconfig --add snaplex |
We recommend that you reboot the machine to verify if the Snaplex service is restarting automatically on machine reboot. Under some conditions, the symlink resolution might fail when the machine is starting up. In this case, you can change the Snaplex startup script to be a file instead of a symlink. Run the following commands a root user:
|
To delete the Snaplex as a service, remove the service from the chkconfig
management:
chkconfig --del snaplex |
To add the Snaplex as a Service:
Change directories:
cd /etc/init.d/ |
Create a soft-link to the jcc.sh
file:
ln -s /opt/snaplogic/bin/jcc.sh snaplex |
Install the service using update-rc.d
. For example:
sudo update-rc.d snaplex defaults 98 02 |
We recommend that you reboot the machine to verify whether the Snaplex service is restarting automatically on machine reboot. Under some conditions, the symlink resolution might fail when the machine is starting up. In this case, you can change the Snaplex startup script to be a file instead of a symlink. Run the following commands a root user:
On a Debian system, the |
To stop the Snaplex as a Service, remove the service from update-rc.d
management:
update-rc.d -f snaplex remove |
To update your JCC nodes to OpenJDK Java 11:
$ sudo /opt/snaplogic/bin/jcc.sh stop
$
rpm -U snaplogic-snaplex.rpm
$
dpkg -i snaplogic-snaplex.deb
/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.12+7-jre/
$ sudo /opt/snaplogic/bin/jcc.sh start
.If you want to use the/myopt/myroot
instead of the /opt/snaplogic
as the installation folder and myuser instead of snapuser, perform the following steps:
$ sudo mv /opt/snaplogic /myopt/myroot
$ sudo chown -R myuser /myopt/myroot
/etc/sysconfig/jcc
file. If this file does not exist, create it.export SL_USER=myuser
export SL_ROOT=/myopt/myroot
$ sudo /myopt/myroot/bin/jcc.sh restart
/etc/init.d/snaplex
file a symlink to the /myopt/myroot/bin/jcc.sh
file.To uninstall the SnapLogic Linux-based package from your environment:
$ rpm -qa | grep snaplogic
$ sudo rpm -e snaplogic-sidekick-4.main_9292-1.x86_64
$ sudo rm -rf /opt/snaplogic
$ sudo rm -rf /etc/snaplogic
When using Enhanced Account Encryption, the private key for the Org is stored in the /etc/snaplogic directory. We recommend that you also maintain a copy of the private key elsewhere. If the private keys are not available, then Accounts created in SnapLogic cannot be used. |
Some Linux installations have system ulimit settings that are set to lower values. This low setting can cause errors when running higher Pipeline loads on the Groundplex JCC node, such as, java.lang.OutOfMemoryError: unable to create new native thread
.
To fix this issue, you need to increase the system limits for the Snapuser user. You can add the following in the /etc/security/limits.conf
folder to increase the file and process limits.
The JCC process needs to be restarted after the limits are updated. |
snapuser soft nproc 8192 snapuser hard nproc 65536 snapuser soft nofile 8192 snapuser hard nofile 65536 |
For Docker deployments, you may not be able to set these limits because of permissions issues with the |
Video: Installing a Groundplex through a Debian-based Linux Distribution