# Bridge Installation for Linux

This document outlines the process for installing and configuring the OvalEdge Bridge Client on RHEL-based operating systems. The Bridge component enables secure connectivity between the OvalEdge cloud-hosted server and client data sources, whether hosted on-premise or in any public cloud environment.

OvalEdge’s cloud offering allows customers to utilize the platform as a hosted service without directly connecting to client data sources. This is achieved through the OvalEdge Bridge component, which enables secure communication between cloud and on-premise environments without modifying firewall rules.

The client component of the Bridge is installed within the client infrastructure, requiring only the whitelisting of the client’s IP address and port.

## Purpose of the document

The purpose of this document is to outline the detailed procedure for installing, configuring, and validating the OvalEdge Bridge Client on RHEL-based systems, including prerequisites, system setup, connectivity validation, installation, and service management.

## Prerequisites

### Installation Files

The following files must be available before starting the Bridge Client installation:

<table><thead><tr><th width="241.7777099609375">File Name</th><th>Description</th></tr></thead><tbody><tr><td>Bridge Secure Connectivity Pack (.zip)</td><td>Contains certificates and configuration files required for secure communication between the Bridge Client and Bridge Server.</td></tr><tr><td>Bridge Client Installer (.jar)</td><td>Required to execute the Bridge Client installation process.</td></tr><tr><td>Bridge Component File (.nar)</td><td>Must be placed in the NiFi lib folder after installation to enable communication with the OvalEdge SaaS platform.</td></tr></tbody></table>

{% hint style="warning" %}
Before proceeding with the installation of the Bridge-Client, please ensure the OvalEdge App is up and running.&#x20;
{% endhint %}

{% hint style="info" %}
The OvalEdge GCS team provides these files via a secure channel (email) and must be copied to the Bridge Client VM before installation.
{% endhint %}

### Recommended Hardware

| Hardware | Configuration |
| -------- | ------------- |
| RAM      | 32 GB         |
| SSD      | 250 GB        |
| vCPU     | 8             |

### Recommended Software

| Software | Version |
| -------- | ------- |
| OS       | RHEL    |
| Open JDK | 17.0    |

### Whitelisting Ports

<table><thead><tr><th width="134.5555419921875">Port Type</th><th width="146">Port</th><th>Purpose</th></tr></thead><tbody><tr><td>Inbound</td><td>9443</td><td>Required for NiFi UI configuration changes</td></tr><tr><td>Outbound</td><td>9443</td><td>Communication from Bridge Client to Bridge Server</td></tr></tbody></table>

{% hint style="info" %}

* The Bridge Client IP must be whitelisted in all connector data sources.
* Ensure outbound traffic on port 9443 is allowed to the Bridge Server.
* Get a confirmation from GCS that the Bridge-Client IP is whitelisted in the Bridge-Server hosted in AWS.
  {% endhint %}

## OvalEdge Bridge Architecture and Communication Model

The Bridge works in a Pull Model where the Bridge client will be Polling (Checks for any commands that are stored at the Bridge Server, issued from the OE Platform, eg, establishing a connection to the dataSource) to execute, waiting in the queue (A queue is a Flow File that holds the data to be transmitted through Bridge) every 5 seconds.&#x20;

The pull time can be configured, and the Bridge client pulls commands from the Bridge Server and transmits the metadata to the OE Platform for processing, securely over the whitelisted secure ports.

The Bridge is owned by OE, except for the client VM on which it is deployed in the client Data Center (OE provides all software components).

OE provides and maintains the bridge component. The Bridge Server is hosted along with the OE Platform and interacts with it. Users perform actions like crawling and profiling data sources and the Bridge Client Pools for the commands, and securely execute the same connection to the client data Sources over TLS 1.2 (Transport Layer Security) and SSL.

The Bridge Component, offered as part of the SaaS, reduces communication pain points with client data sources, whether hosted on a VM (provided by the client) or on-premises.

### Bridge Components

<table><thead><tr><th width="190.66668701171875">Component</th><th>Description</th></tr></thead><tbody><tr><td>Bridge Server</td><td>Hosted on the OvalEdge SaaS AWS environment and interacts directly with the OvalEdge platform.</td></tr><tr><td>Bridge Client</td><td>Installed on the client’s infrastructure (cloud or on-premise) and communicates securely with the Bridge Server.</td></tr></tbody></table>

{% hint style="warning" %}

* The Bridge is owned and maintained by OvalEdge.
* The client provides the VM and network configurations within their environment.
* All communications are encrypted using TLS 1.2 and SSL protocols.
  {% endhint %}

### Deployment Scenarios

<table><thead><tr><th width="132.55560302734375">Environment</th><th width="140.5555419921875">Bridge Server Location</th><th width="172.5555419921875">Bridge Client Location</th><th>Communication Requirement</th></tr></thead><tbody><tr><td>Cloud-based Sources</td><td>OvalEdge SaaS AWS Server</td><td>Public cloud VM (provided by client)</td><td>The Client VM IP address must be whitelisted to communicate securely with the Bridge Server hosted on the SaaS VM.</td></tr><tr><td>On-Premise Sources</td><td>OvalEdge SaaS AWS Server</td><td>On-prem VM (provided by client)</td><td>The Client VM IP address must be whitelisted to communicate securely with the Bridge Server hosted on the SaaS VM.</td></tr></tbody></table>

## Installation Steps

1. Setting up the VM
2. Configure system settings in the OvalEdge application
3. Proceeding with Bridge Client Installation

### 1. Setting up the VM

#### Install Open JDK version 17

* Run the following commands for RHEL OS:

```
$ sudo yum update  
$ sudo dnf install java-17-openjdk-devel -y
```

* Run the following command for Ubuntu OS:

```
$ sudo apt-get update 
$ sudo apt-get install openjdk-17-jdk -y
```

* Verify Installation:

```
$ java -version
```

**Output**:

<figure><img src="https://1813356899-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhTnkoJQml0pok9awFDhx%2Fuploads%2F4ebhZsFWZJDDlwZnY68C%2Funknown.png?alt=media&#x26;token=50ec7238-fa41-4095-8591-a7073e146ba3" alt=""><figcaption></figcaption></figure>

* Identify Public IP:

```
$ curl ifconfig.me
```

{% hint style="warning" %}
Share the static public or NAT IP of the VM with the OvalEdge team (GCS). The IP will be whitelisted on the OvalEdge SaaS system to allow traffic between the Bridge Client and Bridge Server.
{% endhint %}

* On the customer’s network, make sure that outbound traffic is permitted to the bridge server IP (which will be shared by the OvalEdge team) on port 9443
* Verify Connectivity:

```
$ curl -v telnet://<bridge_server_domain>:9443
```

<figure><img src="https://1813356899-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhTnkoJQml0pok9awFDhx%2Fuploads%2FPf2FDWwXHyrX27Zk3ttL%2Funknown.png?alt=media&#x26;token=1ead637c-d221-4389-816b-5a30bff89c36" alt=""><figcaption></figcaption></figure>

* The bridge\_server\_domain will be provided by the OvalEdge team.
* For the OvalEdge application to crawl data from the customer's data sources, the VM running the bridge client must be able to connect to them. The customer must ensure that the Bridge client VM is allowed to access the data sources.

{% hint style="warning" %}

* Ensure the Bridge Client VM has network access to all required data sources.
* Only required ports on the data sources should be opened for traffic from the Bridge Client VM.
* Service accounts should have read-only access.
  {% endhint %}

### 2. Configure System Settings in the OvalEdge application

OvalEdge team must perform the following validations (bridge settings) before initiating the Bridge Client installation.

* Navigate to **Administration** >**system settings** > **system path ovaledge:temppath=/mnt/tmp/**

<figure><img src="https://1813356899-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhTnkoJQml0pok9awFDhx%2Fuploads%2FpKicMufidwjBzj7dzvRY%2Funknown.png?alt=media&#x26;token=6c9721df-865c-4a79-ad59-8fdb7362e490" alt=""><figcaption></figcaption></figure>

* Navigate to **Administration**  > **System Settings**  > **Bridge**.
* Review the Bridge configuration values listed below.\
  If any configuration value differs from the required configuration, update the value according to the standard configuration provided below.

| ovaledge.bridge.mode         | true                                                 |
| ---------------------------- | ---------------------------------------------------- |
| ovaledge.bridgesoftware.path | /mnt/BridgeSoftware/                                 |
| bridge.type                  | nifi                                                 |
| bridge.server.host           | \<Ovaledge Team will provide the bridge server host> |
| bridge.nifiversion           | nifi-1.28.1                                          |

<figure><img src="https://1813356899-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhTnkoJQml0pok9awFDhx%2Fuploads%2Fv4hWWcqZB00cULOZ0Srn%2Funknown.png?alt=media&#x26;token=32f18eeb-33d8-450a-b746-93df942f1cd3" alt=""><figcaption></figcaption></figure>

<figure><img src="https://1813356899-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhTnkoJQml0pok9awFDhx%2Fuploads%2FLPdVvflx1GaVIsOjSaa8%2Funknown.png?alt=media&#x26;token=95b0fb88-8770-4d9f-9662-c7fcde2d96cc" alt=""><figcaption></figcaption></figure>

### 3. Proceeding with Bridge Client Installation

* Deploy a RHEL machine that serves as a mediator between the Bridge Server and data connectors.
* Navigate to **Administration** > **Connectors** and click **Manage Bridge**.

<figure><img src="https://1813356899-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhTnkoJQml0pok9awFDhx%2Fuploads%2F9hpQ5PWwofJpL8BOzf0r%2Funknown.png?alt=media&#x26;token=d84fa2f0-f043-40f7-87a3-2f2ecd8da205" alt=""><figcaption></figcaption></figure>

* Click "**+"** to add the Bridge.
  * Enter the public IP address of the Bridge Client machine in the Bridge IP Address field

<figure><img src="https://1813356899-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhTnkoJQml0pok9awFDhx%2Fuploads%2FidH9n40EHGLbLX0DEWF1%2Funknown.png?alt=media&#x26;token=e472739a-755d-4d93-814d-764d3ee95b6d" alt=""><figcaption></figcaption></figure>

<div align="left"><figure><img src="https://1813356899-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhTnkoJQml0pok9awFDhx%2Fuploads%2FZg0SpqlFMvJUWXK3B52f%2Funknown.png?alt=media&#x26;token=cb0d6679-01ab-43e2-91f0-200017a82486" alt=""><figcaption></figcaption></figure></div>

* A pop-up displays the Bridge ID, Security Code, and download links for the Bridge Secure Connectivity Pack and Bridge Installation Software.

<figure><img src="https://1813356899-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhTnkoJQml0pok9awFDhx%2Fuploads%2Fxz5tHR4LSqhQmr75E3or%2Funknown.png?alt=media&#x26;token=9703dd91-047d-4813-b712-f2c20f8bdc46" alt=""><figcaption></figcaption></figure>

* Download the file and copy the security code to the Bridge Client VM.

{% hint style="info" %}
Download and copy the Bridge Secure Connectivity Pack ( zip file) to the bridge client VM. Note the Security Code displayed during the Bridge Installation process.
{% endhint %}

* Note the Security Code in the format:

```
BRIDGExxxxxxxxxxxxxxx
```

* Click on the **Ok** button, and the new bridge is created and displayed on the Bridge page.

<figure><img src="https://1813356899-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhTnkoJQml0pok9awFDhx%2Fuploads%2FN4bWNRFSchJy3q1iJ5Ch%2Funknown.png?alt=media&#x26;token=0500a2a9-76b0-4fb1-b18f-6c2d353652a0" alt=""><figcaption></figcaption></figure>

* Download the Bridge Installation Software file shared by the OvalEdge GCS Team via email and move it to the bridge client VM.

{% hint style="info" %}
The installation file size is approximately 700 MB.
{% endhint %}

## Install and Register the Bridge

### Installation Steps

1. Create three folders:
   1. bridge\_artifacts
   2. bridge\_client
   3. temp

<figure><img src="https://1813356899-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhTnkoJQml0pok9awFDhx%2Fuploads%2Fv9OAW4VuwLDW8kgrSLds%2Funknown.png?alt=media&#x26;token=90180103-fff5-4367-87cd-605e859a4c05" alt=""><figcaption></figcaption></figure>

2. Copy the **Bridge Secure Connectivity Pack** (zip file) and **ovaledge-bridge-client-installer.jar** into the bridge\_artifacts folder.
3. Run the installation:

```
$ java -jar path_to_jar.jar
```

<figure><img src="https://1813356899-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhTnkoJQml0pok9awFDhx%2Fuploads%2FfzIFCEvbhriR6sGCjDaG%2Funknown.png?alt=media&#x26;token=9bc9eb81-7e0c-45e1-a756-4c7a82962cb0" alt=""><figcaption></figcaption></figure>

4. Upon running the JAR file, press "**1**" and "**Enter**" to confirm your choice. Please follow this step for any future confirmations of this nature.

<figure><img src="https://1813356899-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhTnkoJQml0pok9awFDhx%2Fuploads%2FvzowPhbCbhKwwM5GHbA7%2Funknown.png?alt=media&#x26;token=a4869691-2257-4180-bd86-3d2af58c1284" alt=""><figcaption></figcaption></figure>

5. When prompted, select the installation path for the Bridge Client.
   1. The default installation path is **/usr/local/ovaledge\_bridge**.
   2. Enter the path of the folder created earlier, named **bridge\_client**.

<figure><img src="https://1813356899-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhTnkoJQml0pok9awFDhx%2Fuploads%2FQYDAzgJQZqnsSn7S8NFl%2Funknown.png?alt=media&#x26;token=322ca3a6-7ebc-45d8-8cb5-d14855551b83" alt=""><figcaption></figcaption></figure>

6. Press "1" and "Enter" to confirm your choice

<figure><img src="https://1813356899-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhTnkoJQml0pok9awFDhx%2Fuploads%2F0trKv5yi0LUCDpNxBHks%2Funknown.png?alt=media&#x26;token=c6aad018-e2f5-4b95-94d5-46052547d13b" alt=""><figcaption></figcaption></figure>

7. Enter the Security Code noted during the bridge creation process in the OvalEdge application.

<figure><img src="https://1813356899-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhTnkoJQml0pok9awFDhx%2Fuploads%2F8NRA2rFB0UfT2rIxbTxe%2Funknown.png?alt=media&#x26;token=45098df2-9fc8-40ba-8d95-fca724d5d681" alt=""><figcaption></figcaption></figure>

8. Provide the same IP Address used when adding the bridge IP details in the OvalEdge application under the M/C IP Address field.

<figure><img src="https://1813356899-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhTnkoJQml0pok9awFDhx%2Fuploads%2FqR6xOKy9T5mg39NnOokV%2Funknown.png?alt=media&#x26;token=7c717e3b-bc93-498f-8f39-0a5ce6291e21" alt=""><figcaption></figcaption></figure>

9. Enter a suitable Bridge Name to identify the Bridge Client.

<div align="left"><figure><img src="https://1813356899-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhTnkoJQml0pok9awFDhx%2Fuploads%2FWM3tvSJ7k2uEHRzToqoF%2Funknown.png?alt=media&#x26;token=12ff299d-9e63-482e-9821-4ed1cf39c2cf" alt=""><figcaption></figcaption></figure></div>

10. Provide the Bridge Server URL shared by the OvalEdge team.

<figure><img src="https://1813356899-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhTnkoJQml0pok9awFDhx%2Fuploads%2FaQdCT2UAixBOFvLOeox2%2Funknown.png?alt=media&#x26;token=a04478ae-962d-44be-bfb2-62549e90b064" alt=""><figcaption></figcaption></figure>

11. For the Certificates Path, enter the location of the Bridge Secure Connectivity Pack (ZIP file) copied earlier to the VM.

<figure><img src="https://1813356899-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhTnkoJQml0pok9awFDhx%2Fuploads%2FI5PAAGUazJooNEb7LKP7%2Funknown.png?alt=media&#x26;token=3a038fd6-6dd9-4749-9c59-6c6ab085c04a" alt=""><figcaption></figcaption></figure>

12. For the Bridge Temp Path, enter the location of the temp path on the VM

<figure><img src="https://1813356899-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhTnkoJQml0pok9awFDhx%2Fuploads%2FyoX6uj0cSKxcr62HsXdh%2Funknown.png?alt=media&#x26;token=45fbd1c9-2c2b-4565-bd8b-7c9886c25803" alt=""><figcaption></figcaption></figure>

13. Enter the required User Name and Email Address, then press 1 and Enter to confirm.

{% hint style="info" %}
The user details are mandatory and must be entered without spaces.
{% endhint %}

This information is recorded for reference purposes to identify the individual who performed the Bridge (NiFi) setup on the VM.

<div align="left"><figure><img src="https://1813356899-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhTnkoJQml0pok9awFDhx%2Fuploads%2FYuxuQZYPvG4F1XIziBAB%2Funknown.png?alt=media&#x26;token=059c647a-acc5-4e73-aa5d-a47e55f0bfce" alt=""><figcaption></figcaption></figure></div>

14. For NIFI service creation, enter the service name.

<figure><img src="https://1813356899-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhTnkoJQml0pok9awFDhx%2Fuploads%2FSH02gGl7MQKOAFMGr61B%2Funknown.png?alt=media&#x26;token=9388fbd2-5fc6-4e0c-9528-bd1762a74af4" alt=""><figcaption></figcaption></figure>

15. For the Is askEdgi option, specify whether the askEdgi feature should be enabled.
    1. Enter **true** to enable askEdgi.
    2. Enter **False** to proceed without enabling askEdgi.

<figure><img src="https://1813356899-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhTnkoJQml0pok9awFDhx%2Fuploads%2FQfvgTd1BjJO8GYXlHOn1%2Funknown.png?alt=media&#x26;token=5fdf5800-06af-4a11-bc92-f5d3b0a370da" alt=""><figcaption></figcaption></figure>

16. Press “1” again and Enter to proceed.

<figure><img src="https://1813356899-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhTnkoJQml0pok9awFDhx%2Fuploads%2Fuarp6dr5SRSOTvLWgZPU%2Funknown.png?alt=media&#x26;token=2d4a9d59-0a18-4679-bf04-6f5a7179a71e" alt=""><figcaption></figcaption></figure>

17. Press “1” again and Enter to proceed.

<figure><img src="https://1813356899-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhTnkoJQml0pok9awFDhx%2Fuploads%2FXyllcaz5i2VVeCeWEyi9%2Funknown.png?alt=media&#x26;token=52906a71-69e1-48a5-88dc-e6aed4474faa" alt=""><figcaption></figcaption></figure>

18. Confirm the action by entering Y and pressing Enter.

<figure><img src="https://1813356899-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhTnkoJQml0pok9awFDhx%2Fuploads%2F4seFOXVfzIJ7d31xqKjD%2Funknown.png?alt=media&#x26;token=288f05ba-c239-45c9-8df6-2453af1c9404" alt=""><figcaption></figcaption></figure>

19. When prompted, provide the configuration file path enclosed in square brackets, for example:

```
[/home/ec2-user/bridge/auto-install.xml]
```

<figure><img src="https://1813356899-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhTnkoJQml0pok9awFDhx%2Fuploads%2F0iW6afdv6XyFGwhc5DpG%2Funknown.png?alt=media&#x26;token=30618a63-1b27-4053-aa96-3bf427d8ae64" alt=""><figcaption></figcaption></figure>

20. Wait for the installation to complete. A message stating “Installation was successful” will appear.

<figure><img src="https://1813356899-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhTnkoJQml0pok9awFDhx%2Fuploads%2FBmVAco63AL8GJAvL0nso%2Funknown.png?alt=media&#x26;token=7c1110c6-b385-43ab-9135-8ecc87541308" alt=""><figcaption></figcaption></figure>

21. After successful installation, verify that the message “Bridge software installed successfully” is displayed.
22. Copy the **oe-bridge-bundle-nar-\<version>.nar** file to the NiFi lib folder.
23. If any third-party JAR files are provided by the OvalEdge team, copy the JAR files to the appropriate NiFi library directory along with the Bridge NAR file.
24. Restart the NiFi service from the NiFi bin folder using the command:

```
$ ./nifi.sh restart
```

25. After restarting, check the NiFi logs to confirm that the service has started correctly.
26. Verify the bridge status from the OvalEdge application UI.
    1. The bridge status should display as green, indicating successful installation and connectivity.

<figure><img src="https://1813356899-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhTnkoJQml0pok9awFDhx%2Fuploads%2FjNYfUqzS72J6bUQqHCyP%2Funknown.png?alt=media&#x26;token=616a6cba-d175-4a32-9d32-c4a1561fb1e4" alt=""><figcaption></figcaption></figure>

27. Add the **bridge.temppath** in the application Bridge settings.

    1. Navigate to **Administration** > **System Settings**> **Bridge**

    <figure><img src="https://1813356899-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhTnkoJQml0pok9awFDhx%2Fuploads%2FgCC4aMhlhm95CEavVq4x%2Funknown.png?alt=media&#x26;token=0bcafbf6-8b79-4e2b-99e5-15649917a44d" alt=""><figcaption></figcaption></figure>
28. Provide the path that was created in the Bridge Client VM during the Bridge installation process.

## Running Bridge as a Service

OvalEdge offers Bridge functionality as part of its cloud offering, allowing customers to use the platform as a hosted service without connecting to client data sources.&#x20;

Bridge installation on a client machine is managed manually via commands, which causes a server outage when the machine stops. To overcome this, OvalEdge is providing Bridge-as-a-Service on the client's machine.

### Bridge as a Service Benefits&#x20;

The Bridge Component is deployed as a Service. The installation of the Bridge Component, which is server-hosted on SaaS and client-hosted on client cloud or on-prem, runs as a service to avoid manual intervention.&#x20;

Exposing the Bridge as a service ensures that, if a VM is brought back, the Bridge components (Server and client, respectively) start without manual Intervention.

This ensures that the Bridge component's availability meets an SLA (Service Level Agreement) of 99.999%.

### Steps to Configure Bridge as a Service

1. Before creating NiFi as a service, stop the running NiFi instance
2. Navigate to the NiFi bin folder.

```
$ sh nifi.sh stop
```

3. Become the root user.
4. Navigate to:

```
cd /etc/systemd/system
```

5. Create a new service file:

```
vim nifi.service
```

6. Insert the following content:

```
[Unit]
Description=Apache NiFi
After=network.target
[Service]
Type=forking
ExecStart=</home/ovaledge/nifi-server/nifiinstall>/nifi-1.28.1/bin/nifi.sh start
ExecStop=</home/ovaledge/nifi-server>/nifi-1.28.1/bin/nifi.sh stop
User=<user_name>
Group=<user_name>
UMask=0007
[Install]
WantedBy=multi-user.target
```

{% hint style="info" %}

* ExecStart: Path to NiFi bin/nifi.sh file.
* ExecStop: Path to NiFi bin/nifi.sh file.
* User: VM username.
* Group: VM group name.
  {% endhint %}

## Service Management Commands

| Action         | Command                       |
| -------------- | ----------------------------- |
| Reload Service | systemctl daemon-reload       |
| Start Service  | systemctl start nifi.service  |
| Enable Service | systemctl enable nifi.service |
| Check Status   | systemctl status nifi.service |

## Troubleshooting

* If an error occurs while starting the NiFi service, execute the following:

```
$ chmod +x /home/ec2-user/bridge_client/nifi-1.25.0/bin/*.sh  
$ sudo dnf install policycoreutils-python-utils
$ sudo semanage fcontext -a -t bin_t "/home/ec2-user/bridge/nifi-1.25.0/bin(/.*)?"  
$ sudo restorecon -Rv /home/ec2-user/bridge/nifi-1.25.0/bin
```

* After running these commands, attempt to restart the NiFi service again.

***

Copyright © 2025, OvalEdge LLC, Peachtree Corners GA USA
