Install a Groundplex on Linux

Overview

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 SnapLogic manages. However, in command syntax and references to the UI, the generic term Snaplex is used.

Groundplex installation covers the following tasks:

Temp Directory Usage Note

In Amazon Linux 2023 (AL2023), by default the /tmp folder is now a RAM-based disk, and is much smaller than the disk-based tmp partition in AL2. This can pose problems for pipelines with Snaps that write a lot of data to the /tmp folder, such as some of the Bulk load Snaps, which might run out of disk space quickly. As a workaround, you can add a standard JVM property called java.io.tmpdir to set the path of a folder on a larger partition. This can be configured via the Global Properties fields in the Admin Manager > Snaplex > Node Properties tab. We recommend doing this on all of your Groundplexes, which are all using AL2023. Refer to Temporary Folder.

  1. Download the Groundplex installation files from the project you want to associate with the Groundplex.
  2. Run the installer on the Linux machine.
     $ sudo yum install fontconfig zip
    $ sudo rpm -i filename.rpm
    
    where
    • fontconfig and zip are the required dependencies.
    • filename is the name of the installation file.
     $ sudo apt-get install fontconfig zip
    $ sudo dpkg -i filename.deb
    
    where
    • fontconfig and zip are the required dependencies.
    • filename is the name of the installation file.
  3. Copy the downloaded configuration file to c:\opt\snaplogic\etc.
    Important: The file extension must be slpropz. Example: mysnaplex.slpropz
  4. Set snapuser as the owner of the .slpropz file.
     $ sudo chown snapuser:snapuser /opt/snaplogic/etc/myplex.slpropz
    $ sudo chmod 600 /opt/snaplogic/etc/myplex.slpropz
    
  5. Start the JCC node as a Snaplex service.
    $ sudo /opt/snaplogic/bin/jcc.sh start
  6. Verify that Snaplex started.

    Go to https://cdn.elastic.snaplogic.com/sl/studio.html#/monitor/infrastructure.

    The newly installed JCC node will appear in the list of nodes for the Snaplex.

java.lang.OutOfMemoryError: unable to create new native thread

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

    1. Increase the system limits for the snapuser user.

      Add the following in the /etc/security/limits.conf file:

       snapuser soft nproc 8192
      snapuser hard nproc 65536
      snapuser soft nofile 8192
      snapuser hard nofile 65536
      
    2. Restart the JCC process.
  • Enhance the security of your groundplex with an SSL/TLS certificate. Learn how to import a certificate into your JCC nodes.
  • Disable the noexec setting. Some Snaps, such as the Azure Synapse SQL Bulk Load Snaps, require write and execute permissions to the /tmp directory. Make sure you disable the noexec setting in the mount used for the /tmp directory. Otherwise, the Snap execution could fail with an error like Failed to map segment from shared object: Operation not permitted. You can also specify a different location as the temporary folder.
  • Set up a FeedMaster. Ultra Tasks require a FeedMaster in addition to the JCC (Java Component Container) nodes in your Groundplex. Learn more: Deploying a FeedMaster Node