Sidra Integration Runtimes with OpenJDK¶
This document provides guidance for configuring an Integration Runtime (IR) for Sidra Data & AI Platform using OpenJDK.
Important: External Runtime Management
Integration Runtimes are external to Sidra and must be managed by the customer's IT team. This includes ensuring their availability, stable performance, and security compliance (e.g., applying Microsoft's security patches regularly).
Creating an Integration Runtime¶
Step 1: Provision a Virtual Machine¶
The first step is provisioning a virtual machine (VM) to host the Integration Runtime. Verify that the VM meets Microsoft's prerequisites.
Info
You can use an existing VM if it fulfills the necessary requirements.
Step 2: Setting up the Self-Hosted Integration Runtime (IR)¶
Create a Self-Hosted IR¶
Follow these instructions.
Configure the Self-Hosted IR¶
Proceed with the configuration following these steps. When installing the IR software on the VM, ensure it is installed in the path:
C:\Program Files```
Avoid using `C:\Program Files (x86)\`.
### Step 3: Prepare the VM for Sidra
#### Install Java Runtime (JRE) and OpenJDK
Sidra ingests data into `.parquet` files, which requires Java libraries. Since the IR agent does not include Java Runtime by default, manual installation is necessary.
**Important**: Oracle's JRE licensing may incur costs for production environments. To avoid this, use OpenJDK, an open-source alternative. Nevertheless, initially installing Oracle JRE is required for registry entries.
- Install [Oracle JRE](https://java.com/en/download/windows_manual.jsp) first:
- Use the x64-bit installer for compatibility.
- Install under `C:\Program Files\`.
- Next, install Microsoft's [OpenJDK](https://docs.microsoft.com/en-us/java/openjdk/download):
- Use the provided `.MSI installer`.
- During installation, ensure the `JAVA_HOME` environment variable is set.
#### Configure Registry Entries for OpenJDK
OpenJDK doesn't create registry entries by default. However, these are required for the IR agent.
- Open `regedit` and export the JRE registry key located at:
```
HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft
```
or
```
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\JavaSoft
```
- Uninstall Oracle JRE if desired.
- Open the exported `.REG` file with a text editor and replace Oracle JRE paths with OpenJDK paths:
- Example path: `C:\Program Files\Microsoft\jdk-21.0.2.13-hotspot` (path depends on installed version).
- Verify the correct sub-folder (either `bin\server` or `bin\client`) exists in your OpenJDK installation.
##### Example Registry File
```powershell
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment]
"CurrentVersion"="17.0"
"JavaHome"="C:\Program Files\Microsoft\jdk-21.0.2.13-hotspot"
"RuntimeLib"="C:\Program Files\Microsoft\jdk-21.0.2.13-hotspot\bin\server\jvm.dll"
- Apply the edited registry file by double-clicking on it.
Install Visual C++ Runtime¶
The JVM requires Visual C++ runtime libraries (VCRUNTIME140.dll
, VCRUNTIME140_1.dll
). If these libraries are missing, install the Microsoft Visual C++ Redistributable.
Prevent Java OutOfMemoryError
¶
Large data ingestion via Parquet may trigger Java heap memory errors:
Configure Java heap memory limits by setting system-wide environment variables:
Xms
sets the initial heap size,Xmx
the maximum.- Restart the VM after setting these variables.
Verify heap memory configuration:
Ensure your settings for MinHeapSize
(initial) and MaxHeapSize
(maximum) appear correctly in the output.
Info
Microsoft documentation suggests _JAVA_OPTIONS
, but some sources indicate JAVA_TOOL_OPTIONS
might also be required. Both have been tested successfully.
With these steps completed, your Sidra Integration Runtime using OpenJDK is properly configured and optimized for stable and efficient operation.