Requirements for Self-Managed Deployments
When working with self-managed deployments, you take full control of procuring the resources needed to run a Data Collector engine. You must set up the machine and complete the installation prerequisites required by the engine.
Before launching a Data Collector engine for a self-managed deployment, set up a machine with the following minimum requirements. Then, complete the additional Docker image prerequisites or tarball prerequisites based on the installation type you want to use.
Component | Minimum Requirement |
---|---|
Operating system | Use one of the following operating systems and versions:
|
Cores | 2 |
RAM | 1 GB |
Disk space | 6 GB Note: StreamSets does not
recommend using NFS or NAS to store Data Collector
files.
|
Docker Image Prerequisites
For a Docker image installation of Data Collector, the machine must also have Docker installed.
Tarball Prerequisites
For a tarball installation of Data Collector, the machine must meet the following additional minimum requirements:
Component | Minimum Requirement |
---|---|
File descriptors | 32768 |
Java | Oracle Java 8 or OpenJDK 8 |
JCE for Oracle JVM
If you use AES-256 encryption with your Oracle JVM and use a version of JDK earlier than 1.8.0_161, then configure the JDK on the Data Collector machine to use the Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy.
To configure the JDK to use unlimited cryptography, set the
crypto.policy
Java Security property in the
java.security
file included in your JDK installation to a value of
unlimited
. See the notes in the java.security
file
for more information.
Configuring the Open File Limit
Data Collector requires a large number of file descriptors to work correctly with all stages. Most operating systems provide a configuration to limit the number of files a process or a user can open. The default values are usually less than the Data Collector requirement of 32768 file descriptors.
ulimit -n
Most operating systems use two ways of configuring the maximum number of open files - the soft limit and the hard limit. The hard limit is set by the system administrator. The soft limit can be set by the user, but only up to the hard limit.
Increasing the open file limit differs for each operating system. Consult your operating system documentation for the preferred method.
Increase the Limit on Linux
To increase the open file limit on Linux, see the following solution: How to set ulimit values.
This solution should work on Red Hat Enterprise Linux, Oracle Linux, CentOS, and Ubuntu. However, refer to the administrator documentation for your operating system for the preferred method.
Increase the Limit on MacOS
The method you use to increase the limit on MacOS can differ with each version. Refer to the documentation for your operating system version for the preferred method.
To increase the limit for the computer - so that the limits are retained after relaunching the terminal and restarting the computer - create a property list file. The following steps are valid for recent MacOS versions:
- Use the following command to create a property list file named
limit.maxfiles.plist
:sudo vim /Library/LaunchDaemons/limit.maxfiles.plist
- Add the following contents to the file, modifying the
maxfiles
attribute as needed.The maxfiles attribute defines the open file limit. The first value in the file is the soft limit. The second value is the hard limit.
For example, in the following
limit.maxfiles.plist
file, both the soft and hard limit are set to 32,768:<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Label</key> <string>limit.maxfiles</string> <key>ProgramArguments</key> <array> <string>launchctl</string> <string>limit</string> <string>maxfiles</string> <string>32768</string> <string>32768</string> </array> <key>RunAtLoad</key> <true/> <key>ServiceIPC</key> <false/> </dict> </plist>
- Use the following commands to load the new
settings:
sudo launchctl unload -w /Library/LaunchDaemons/limit.maxfiles.plist sudo launchctl load -w /Library/LaunchDaemons/limit.maxfiles.plist
- Use the following command to check that the system limits were
modified:
launchctl limit maxfiles
- Use the following command to set the session
limit:
ulimit -n 32768