Deploying the Connector Component on a Standalone Node

This documentation provides the steps needed to deploy ad-sa-connector as a standalone add-on.

Deploy the standalone connector (ad-sa-connectors) component on a standalone node only at the recommendation of the Acceldata Support team. Unless recommended, do not deploy it on the production environment.

Prerequisites

Ensure the following criteria are met:

  • You are using “Pulse 3.5.0 or higher” or “Pulse 3.4.3 or higher”.
  • You have not deployed Core Connectors. If it’s already deployed, uninstall it using accelo deploy add-ons and unselect Core Connectors.
  • You have already configured the standalone node.

Deploying ad-sa-connector as a Standalone add-on

Follow the steps listed below to successfully deploy ad-sa-connector as a standalone add-on.

  1. On the core node, run the following command to generate ad-core.yml if it doesn’t exist already.
Bash
Copy

Open the file in a text editor and navigate to the following section.

Bash
Copy

In case of Non-Multi KDC:

Add the following environment variables under the section environment:

  • AD_CONNECTOR_HOST: Set its value to the hostname of the node where you deploy StandAlone Connector.
  • AD_CONNECTOR_PORT: Set its value to 19025.

Save your changes. If done correctly, the following changes appear on the screen.

  • AD_SPARK_PROXY_HOST: Set its value to the hostname of the node where you deploy StandAlone Connector.
  • AD_SPARK_PROXY_PORT: Set its value to 19025.

In case of Multi-KDC:

Add the following environment variable under the section environment:

  • IS_MULTIKDC_MULTINODE: Set its value to true only in case of a multi-node multi-KDC environment.
Bash
Copy
  1. On the core node, run the following command and provide the following string when prompted.
Bash
Copy
  • mongodb://accel:ACCELUSER_01082018@<HOSTNAME_OF_CORE_NODE>:27017

Replace <HOSTNAME_OF_CORE_NODE> with the hostname of node where the core services are deployed. Note down the output as you need the encrypted string in the next step.

  1. On the core node, backup $AcceloHome/config/acceldata_<cluster_name>.conf.Open the file in a text editor and navigate to the following section.
Bash
Copy

Make changes to the value of the following fields using a text editor:

  • uri: Change its value to the output of the command that you ran in the previous step.
  • host: Change its value from ad-elastic to the host/hosts where Logsearch is deployed.

For the connection named fsanalytics, it's the host where FS Elastic is deployed.

  • port: Change its value to 19013.
  • nats.server.host.list: Change the value of all occurrences of this field to <HOSTNAME_OF_CORE_NODE>:19009, replacing <HOSTNAME_OF_CORE_NODE> with the hostname of node where the core services are deployed.
  • spark.events.url: Change the value of all occurrences of this field to <HOSTNAME_OF_STANDALONE_NODE>:<PORT>, replacing <HOSTNAME_OF_STANDALONE_NODE> with the hostname of node where you’ll be deploying the Standalone Connectors and <PORT> with 19004.
Bash
Copy

Repeat the above steps for all the cluster configuration files.

  1. Run the following command to push the configuration.
Bash
Copy
  1. On the core node, navigate to $AcceloHome and run the following command.
Bash
Copy

It generates a tar file in $AcceloHome named work_dir.tar.gz which needs to be copied over to $AcceloHome on the standalone node. One way to copy would be using scp or an NFS export.

  1. On the standalone node, navigate to $AcceloHome and run the following command.
Bash
Copy
  1. On the standalone node, create a copy of /etc/hosts and save it under $AcceloHome/config/docker. Open the file in a text editor and find the entry corresponding to the node where core services are deployed. Add the aliases ad-db ad-events ad-streaming . If done correctly, it must look something like this.
Bash
Copy

Post that, run the following command to generate ad-sa-connectors.yml if it doesn’t exist already.

Bash
Copy

Open the file in a text editor and navigate to the following section.

Bash
Copy

Make the following changes.

  • Replace/etc/hosts:/etc/hosts:ro with $AcceloHome/config/docker/hosts:/etc/hosts:rosubstituting the environment variable $AcceloHome with its value.
  • Replace the value of MONGO_URI with the output of the command you ran in step 2.

Add the following section under services.

Bash
Copy

Add the following port mapping to the service ad-sa-connectors.

Bash
Copy
  • Replace the environment variable $AcceloHome with its value.
  • Replace the value of MONGO_URI with the output of the command you ran in step 2.

Save your changes. If done correctly, the following changes appear on the screen.

Bash
Copy
  1. Perform this step only if Multi KDC is enabled. On the Standalone Node:
    1. Update the ports so that ad-sa-connectors and ad-sparkstats start listening on different ports.
Bash
Copy

For details about enabling Multi KDC, see Enable MultiKDC.

Only update the host port, not the service port for both services.

b. Save your changes.

c. Switch to the other cluster by running the following command.

Bash
Copy

In case you have enabled TLS/SSL enforced for any of the Hadoop components in the target cluster, you need to mount the Java trust store files inside the following Pulse service containers:

  1. Generate the ad-core-connectors configuration file by executing the following command.

accelo admin makeconfig ad-core-connectors

  1. Edit the file path <$AcceloHome>/config/docker/addons/ad-core-connectors.yml and add the following lines under the volumes section of both ad-connectors and ad-sparkstats service blocks.

./config/security/cacerts:/usr/local/openjdk-8/lib/security/cacerts

./config/security/jssecacerts:/usr/local/openjdk-8/lib/security/jssecacerts

  1. In case, you only have the jssecacert file available and not the cacerts file, you can mount the jssecacerts file as the cacerts file inside container as shown below.

./config/security/jssecacerts:/usr/local/openjdk-8/lib/security/cacerts

  1. Perform this step only if Multi-KDC is enabled.
    1. On the core node, backup $AcceloHome/config/accelo.yml.
    2. Open the file in a text editor and add the following entry to the list KerberosAddonsad-sa-connectors.``
    3. Update MultiKDCContainersPortMap.

You need to specify the host and the host port corresponding to ad-sa-connectors for each of the clusters that Pulse is observing. The host and host port are the hostname of the standalone node and the host port that you have specified in the previous step for each of the clusters respectively.

Note that the host port differs for each of the clusters.

Bash
Copy

On the core node, make sure that the port number for the field spark.events.url in the acceldata_<cluster_name>.conf file is correct and match with the host ports you’ve specified in this step for ad-sparkstats for each of the clusters.

You need to repeat this step for each of the of the acceldata_<cluster_name>.conf files.

Save your changes and run the following command.

Bash
Copy
  1. On the standalone node, run the following command and select StandAlone Connector.
Bash
Copy
  1. In the case of Multi-KDC, you need to repeat steps 8 and 9 for each of the clusters. Also, ensure to use a different host port mapping for each cluster.
  2. When you run accelo reconfig cluster or accelo reconfig cluster -a, repeat steps 3 and 4.
Type to search, ESC to discard
Type to search, ESC to discard
Type to search, ESC to discard