...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
In this Page
Table of Contents | ||
---|---|---|
|
Note |
---|
The Linux installer comes bundled with the JRE necessary for this Snaplex. |
Install a Snaplex On-Premises on Linux
To install a Snaplex on-premises on Linux:
- As an org 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 Update Snaplex dialog). Once completed, the dialog reopens to the Downloads panel.
- Download the RPM/DEB and the configuration file onto a Linux machine. The Downloads panel has links to the installer and config files.
For CentOS (or Redhat) 6.3 or newer, do sudo rpm -i <filename>.rpm.
For Ubuntu 14.04 or newer, dosudo dpkg -i <filename>.deb
.
where <filename> is the name of the current installer file.After the software has been 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 to be owned by snapuser user, by running:
Code Block sudo chown snapuser:snapuser /opt/snaplogic/etc/myplex.slpropz sudo chmod 600 /opt/snaplogic/etc/myplex.slpropz
To start the on-premises service, type: 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 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.
|
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.
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:
...
Find the trust store at /opt/snaplogic/pkgs/java version/lib/security/cacerts
, and confirm that every node in the Groundplex has the certificate imported. Perform the following task (for Linux) to generate and import a self-signed certificate on all the nodes in the Snaplex.
To import a certificate to the SnapLogic JCC:
- 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+
Note |
---|
The steps to import the certificate to the JCC can vary based on the certificate format and the OS. |
Automatically
...
Start and
...
Stop an On-premises Snaplex on Linux
You can use either the systemd
or init.d
utilty 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.
...
Start/Stop the
...
Snaplex by Using Systems
Red Hat-like distributions (Red Hat, Fedora Core, CentOS, and Suse)
To add the Snaplex as a Service:
- Log in to the Snaplex host as a root or sudo user.
Create the startup service file as follows:
Code Block touch /etc/systemd/system/snaplogic.service
Change the permissions on the file as follows:
Code Block chmod 664 /etc/systemd/system/snaplogic.service
This change provides
read
andwrite
permissions for the owner and group, andread
permission for others.Open the file wiht a text editor. For example, the
vim
editor:Code Block vim /etc/systemd/system/snaplogic.service
Add the following text to the file:
Paste code macro [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
- Save and exit the file.
Enable the service as follows – the service will start automatically when the host reboots.
Code Block systemctl enable snaplogic.service
Start the service as follows:
Code Block systemctl start snaplogic.service
To delete the Snaplex as a service:
Disable the service as follows:
Code Block |
---|
systemctl disable snaplogic.service |
Start/Stop the Snaplex by Using init.d
...
RedHat-like Distribution (Red Hat, Fedora Core, CentOS, Suse)
To add the Snaplex as a Service:
- Login to the Linux machine as root.
Change directories as follows:
Code Block cd /etc/init.d/
Create a softlink to the jcc.sh file as follows:
Code Block ln -s /opt/snaplogic/bin/jcc.sh snaplex
Add the softlink to
chkconfig
management as follows:Code Block chkconfig --add snaplex
Note It is recommended to reboot the machine to verify whether the Snaplex service is restarting automatically on machine reboot. One issue which has been seen to cause the restart to fail is that the symlink resolution can fail when the machine is starting up. In that case, the Snaplex startup script can be changed to be a file instead of a symlink. To do that, run the following as root user:
Code Block rm /etc/init.d/snaplex cp /opt/snaplogic/bin/jcc.sh /etc/init.d/snaplex echo "export SL_ROOT=/opt/snaplogic" >> /etc/sysconfig/jcc
To delete the Snaplex as a service:
Remove the service from chkconfig management as follows:
Code Block |
---|
chkconfig --del snaplex |
Debian-like Distribution (Debian, Ubuntu)
To add the Snaplex as a Service:
- Login Log in to the Linux machine as root.
Change directories as follows:
Code Block cd /etc/init.d/
Create a softlink to a soft-link to the jcc.sh file as follows:
Code Block ln -s /opt/snaplogic/bin/jcc.sh snaplex
Install the service using update-rc.d. For example:
Code Block sudo update-rc.d snaplex defaults 98 02
Note It is recommended to reboot the machine to verify whether the Snaplex service is restarting automatically on machine reboot. One issue which has been seen to cause the restart to fail is that the symlink resolution can fail when the machine is starting up. In that case, the Snaplex startup script can be changed to be a file instead of a symlink. To do that, run the following as root user:
Code Block rm /etc/init.d/snaplex cp /opt/snaplogic/bin/jcc.sh /etc/init.d/snaplex echo "export SL_ROOT=/opt/snaplogic" >> /etc/sysconfig/jcc
On a Debian system, the /etc/sysconfig directory would need to be created if not already present.
To delete the Snaplex as a Service:
Remove the service from update-rc.d management as follows:
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. |
...
Code Block |
---|
snapuser soft nproc 8192 snapuser hard nproc 65536 snapuser soft nofile 8192 snapuser hard nofile 65536 |
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. |