Installing Aerospike Connect - ESP Outbound
- 2.0.0 or later
- Prior to 2.0.0
Connector version 2.0.0 or laterโ
Starting with connector version 2.0.0
, there is a single installer that handles both XDR connector 5.0 wire protocol and HTTP.
- aerospike-esp-outbound-[version].[package] for Database 5.0 and later
- aerospike/aerospike-esp-outbound:[version]
Version prior to 2.0.0โ
The communication protocol between Aerospike Database and the outbound connectors, including ESP, changed for Database 5.0 and later. Different ESP outbound installers and container images are used for Database 5.0 and later.
- aerospike-esp-outbound-[version].[package] for Database 5.0 and later
- aerospike-esp-outbound-http-[version].[package] for prior to Database 5.0
- aerospike/aerospike-esp-outbound:[version]
- aerospike/aerospike-esp-outbound-http:[version]
Prerequisitesโ
Aerospike Database change notification configurationโ
Streaming from Aerospike requires you to configure your Aerospike database to send change notifications. For the steps, see Configuring Change Notification for Use with Connectors.
Proceduresโ
You can deploy the ESP outbound connector in three environments:
To deploy in Dockerโ
Download and install Docker from here.
Pull the image for the ESP outbound connector from Docker Hub.
docker pull aerospike/aerospike-esp-outbound:2.4.0
- Create the configuration file
aerospike-esp-outbound.yml
. You can create this file anywhere in your system. When you run a Docker container in the next step, it mounts the file into the container's file system.
For descriptions of the configuration properties and a sample configuration file, see "Configuring the ESP outbound connector".
- Mount the configuration file in the container.
docker run \
-v <path to local aerospike-esp-outbound.yml>:/etc/aerospike-esp-outbound/aerospike-esp-outbound.yml \
aerospike/aerospike-esp-outbound:2.4.0
<path to local aerospike-esp-outbound.yml>
: The path (including the name) of the configuration file in your local filesystem.
Deploy in Kubernetesโ
Configure the ESP outbound connector and apply the configuration with a Kubernetes ConfigMap. In this step you create a folder, create and add files to the folder, and point to this folder when you create a ConfigMap.
- Create a folder. The path and name of the directory do not matter.
Exampleโ
mkdir aerospike-esp-outbound
- Copy any TLS truststore and keystore files into this directory.
If you plan to use TLS to connect to the destinations of the messages sent by the ESP outbound connector (load balancers or connector instances), copy truststore and keystore files for those connections into this folder, so that the Kubernetes container has access to them.
Create the configuration file
aerospike-esp-outbound.yml
. You can create this file anywhere in your system. When you run a Docker container in the next step, it mounts the file into the container's file system.Create the ConfigMap.
kubectl -n <k8s namespace> create configmap aerospike-esp-outbound-config \
--from-file=<path-and-name-of-directory> --dry-run=client -o yaml | kubectl apply -f -
<k8s namespace>
: Name of the Kubernetes namespace in which to create the ConfigMap.<path-and-name-of-directory>
: Path and name of the directory that contains the configuration file.
If the command runs successfully, it displays a message that it created the ConfigMap:
W0512 09:21:00.039900 12016 helpers.go:557] --dry-run is deprecated and can be replaced with --dry-run=client.
configmap/aerospike-esp-outbound-config created
- Deploy the ESP outbound connector in a container.
These steps explain how to run the ESP outbound connector in its own pod. However, you can run the ESP outbound connector as a sidecar to the main container of an Aerospike database being run by the Aerospike Kubernetes Operator.
- Create a Kubernetes deployment file.
Here is a sample Kubernetes deployment file named aerospike-esp-outbound-deployment.yml
. It deploys of two instances of ESP outbound connector as separate pods. You can run more than one instance of the ESP outbound connector in case one fails, the other continues receiving CN messages from your Aerospike cluster.
apiVersion: apps/v1
kind: Deployment
metadata:
name: aerospike-esp-outbound
namespace: aerospike
spec:
replicas: 2
selector:
matchLabels:
app: aerospike-esp-outbound
template:
metadata:
labels:
app: aerospike-esp-outbound
spec:
volumes:
- name: aerospike-esp-outbound-config
configMap:
name: aerospike-esp-outbound-config
containers:
- name: aerospike-esp-outbound
image: aerospike/aerospike-esp-outbound:2.4.0
volumeMounts:
- mountPath: /etc/aerospike-esp-outbound
name: aerospike-esp-outbound-config
- Use the following command to deploy the ESP outbound connector:
kubectl apply -f aerospike-esp-outbound-deployment.yml
Sample output:
deployment.apps/aerospike-esp-outbound created
Installing on Linuxโ
Prerequisitesโ
Supported operating systemsโ
The connector is supported on the following operating systems:
- RHEL (8 and 9) / CentOS 7+
- Ubuntu 20.04
- Ubuntu 22.04
- Debian 10 (only on x86_64 hardware)
- Debian 11
- Debian 12
Java Runtime Environmentโ
This connector is a Java web-application that requires Java 11 or later. Both Oracle and OpenJDK Java Runtime Environments are supported.
Java 17 is supported since ESP version 1.1.0 and later.
The following steps apply to installing both the Debian (*.deb) and RHEL (*.rpm) packages. Significant differences in the steps are noted.
Install Java 11 or later versionโ
The Aerospike Connect for ESP Outbound package does not include a Java runtime environment. Most supported platforms provide official JDK 11 packages. For platforms that do not, you can get Oracle's JDK 11 builds from jdk.java.net/11/.
RHEL, CentOS, etc.
sudo yum install java-11-openjdk
Debian, Ubuntu, etc.
sudo apt-get install openjdk-11-jre
Install connector packageโ
- 2.0.0 or later
- Prior to 2.0.0
Starting with connector version 2.0.0
, there is a single installer that handles both XDR connector 5.0 wire protocol and HTTP.
Go to the Aerospike Enterprise downloads
site to download the connector package for your platform and install it. The connector is supported on both amd64
and arm64
architectures.
Remember to set the protocol
based on the change notification source. See protocol for details
RHEL, CentOS, etc.
sudo rpm -i aerospike-esp-outbound-2.4.0-1.noarch.rpm
Debian, Ubuntu, etc.
$ sudo dpkg -i aerospike-esp-outbound-2.4.0.all.deb
Go to the Aerospike Enterprise downloads
site to download the connector package for your platform. Otherwise, use the esp-outbound-http
for the Aerospike
Enterprise version < 5.0 and the esp-outbound
.
RHEL, CentOS, etc.
# With Aerospike 5.0 and later
sudo rpm -i aerospike-esp-outbound-1.1.0-1.noarch.rpm
# With Aerospike prior to 5.0
sudo rpm -i aerospike-esp-outbound-http-1.1.0-1.noarch.rpm
Debian, Ubuntu, etc.
# With Aerospike 5.0 and later
$ sudo dpkg -i aerospike-esp-outbound-1.1.0.all.deb
# With Aerospike prior to 5.0
$ sudo dpkg -i aerospike-esp-outbound-http-1.1.0.all.deb
Verify/update connector configurationโ
The configuration file for the connector is in /etc/aerospike-esp-outbound/
.
For details on how to configure the ESP outbound connector and enable
TLS, etc., see the Configuration Guide.
Start the connectorโ
The connector package includes a Systemd service definition. The installation procedure creates an aerospike-esp-outbound service.
Enable the connector to start on system startup or reboot:
- 2.0.0 or later
- Prior to 2.0.0
$ sudo systemctl enable aerospike-esp-outbound
# With Aerospike 5.0 and later
$ sudo systemctl enable aerospike-esp-outbound
# With Aerospike prior to Database 5.0
$ sudo systemctl enable aerospike-esp-outbound-http
To start the connector service run:
- 2.0.0 or later
- Prior to 2.0.0
$ sudo systemctl start aerospike-esp-outbound
# With Database 5.0 and later
$ sudo systemctl start aerospike-esp-outbound
# With Aerospike prior to Database 5.0
$ sudo systemctl start aerospike-esp-outbound-http