Deploying the Director Component on a Standalone Node
This documentation provides the steps needed to deploy ad-director
as a standalone add-on.
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 the
ad-director
(Agents must be configured). If it’s already deployed, uninstall it usingaccelo deploy add-ons
and unselectDirector
(Agents MUST be configured). - You have already configured the standalone node. If not, run
accelo set standalone
after the initial prompt to runaccelo init
.
Deploy ad-director as a Standalone add-on
Follow the steps listed below to successfully deploy ad-director
as a standalone add-on.
- On the standalone node, run the following command to generate
ad-director.yml
if it doesn’t exist. IfDirector
(Agents MUST be configured) is already deployed andad-director.yml
does exist under$AcceloHome/config/docker/addons
on the node where it was previously deployed, copy it over to the same location i.e.$AcceloHome/config/docker/addons
on the standalone node.
accelo admin makeconfig ad-director
Open the file in a text editor and make changes to the value of the following fields:
ACTIONS_DB_URI
: Set it to the value of the environment variableMONGO_URI
, which by default, is encrypted.ACTIONS_EXTERNAL_URL
: Replace the value of localhost with the hostname of the core node.NOTIFICATIONS_HOST
: Set it to the node's hostname wheread-notifications
is deployed. If done correctly, the following details appear on the screen.
[root@plat03:addons (ad-default)]$ diff -y --suppress-common-lines ad-director.yml.orig ad-director.yml
- NOTIFICATIONS_HOST=ad-notifications | - NOTIFICATIONS_HOST=plat03.acceldata.dvl
- ACTIONS_EXTERNAL_URL=http://localhost:4000 | - ACTIONS_EXTERNAL_URL=http://plat01.acceldata.dvl:4000
- ACTIONS_DB_URI=ZN4v8cuUTXYvdnDJIDp+R8Z+ZsVXXjv8zDOvh8Uw | - ACTIONS_DB_URI=ZN4v8cuUTXYvdnDJIDp+R8Z+ZsVXXjv8zDOvh8Uw
- On the core node, backup
$AcceloHome/config/acceldata_<cluster_name>.conf
. Open the file in a text editor and navigate to the following section.
# General dependencies are expressed as accessible service url's. Spark, Yarn,
# ATS, Hive Metastore, Spark and Webhdfs urls are required.
# At this point in time, AccelData does not support compression by default.
group {
name = "odp_zoro"
displayName = "odp_zoro"
originalName = "ODP_Zoro"
distroType = "HWX"
onprem = true
active = true
priority = 1000
connections = {
mongo = [
........
Make changes to the value of the following fields using a text editor:
uri
: Change its value to the value of ACTIONS_DB_URI, which you have done in the previous step.host
: Change its value fromad-elastic
to the host/hosts whereLogsearch
is deployed.
For the connection named fsanalytics
, it's the host where FS Elastic
is deployed.
- readURL: In this field, replace the following details:
ad-vmselect
with a hostname of the node where the core services are deployed.- 8481 with 19042.
Save your changes. If done correctly, the following details appear on the screen.
[root@plat01:config (ad-default)]$ diff -y --suppress-common-lines acceldata_odp_zoro.conf.orig acceldata_odp_zoro.conf
uri = "ZN4v8cuUTXYvdnDJIDp+R8Z+ZsVXXjv8zDOvh8UwQXosC8 | uri = "ZN4v8cuUTXYvdnDJIDp+R8Z+ZsVXXjv8zDOvh8UwQXrMzw
uri = "ZN4v8cuUTXYvdnDJIDp+R8Z+ZsVXXjv8zDOvh8UwQXosC8 | uri = "ZN4v8cuUTXYvdnDJIDp+R8Z+ZsVXXjv8zDOvh8UwQXrMzw
host = "ad-elastic" | host = "plat01.acceldata.dvl"
port = 9200 | port = 19013
host = "ad-elastic" | host = "plat01.acceldata.dvl"
port = 9200 | port = 19013
host = "ad-elastic" | host = "plat01.acceldata.dvl"
port = 9200 | port = 19013
readURL = "http://ad-vmselect:8481/select/1385609323/ | readURL = "http://plat01.acceldata.dvl:19042/select/1
Repeat the above steps for all the cluster configuration files.
- Run the following command to push the configuration.
accelo admin database push-config -a
- On the core node, run the following command to generate
ad-core.yml
if it doesn’t exist already.
accelo admin makeconfig ad-core
Open the file in a text editor and navigate to the following section.
ad-graphql:
image: ad-graphql
container_name: ""
environment:
....................
Add the following environment variables under the section environment:
ACTIONS_IP
: Set its value to the hostname of the node where you’ll deployad-director
.ACTIONS_PORT
: Set its value to 19016.
Save your changes. If done correctly, the following details appear on the screen.
[root@plat01:docker (ad-default)]$ diff -y --suppress-common-lines ad-core.yml.orig ad-core.yml
> - ACTIONS_IP=plat03.acceldata.dvl
> - ACTIONS_PORT=19016
- On the standalone node where
ad-notifications
is deployed, run the following command to generatead-notifications.yml
if it doesn’t exist.
accelo admin makeconfig ad-notifications
Open the file in a text editor and make changes to the value of the following fields.
DIRECTOR_HOST
: Set it to the hostname of the node where the ad-director will be deployed.DIRECTOR_PORT
: Set it to 19016.
If done correctly, the following details appear on the screen.
[root@plat03:addons (ad-default)]$ diff -y --suppress-common-lines ad-notifications.yml.orig ad-notifications.yml
- DIRECTOR_HOST=ad-director | - DIRECTOR_HOST=plat03.acceldata.dvl
- DIRECTOR_PORT=8000 | - DIRECTOR_PORT=19016
- On the core node, navigate to
$AcceloHome
and run the following command.
tar -cvf work_dir2.tar.gz $(ls -d work/*/director) config/krb/security/krb5.conf
It generates a tar file in $AcceloHome named work_dir2.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.
- On the standalone node, navigate to
$AcceloHome
and run the following command.
tar -xvf work_dir2.tar.gz
- On the standalone node, run the following command and select
Director
(Agents MUST be configured).
accelo deploy addons
- On the standalone node, deploy Playbooks. For details, see Deploy Playbooks.
- On the core node, run the following command.
accelo restart ad-graphql
When you run accelo reconfig cluster
or accelo reconfig cluster -a
to perform the following steps:
- On the core node, update the value of readURL in
$AcceloHome/config/acceldata_<cluster_name>.conf.
- On the core node, run
accelo admin database push-config -a
. - On the core node, navigate to
$AcceloHome
and run the following command.
tar -cvf work_dir2.tar.gz $(ls -d work/*/director) config/krb/security/krb5.conf
- Copy
work_dir.tar.gz
over to the standalone node. - On the standalone node, navigate to
$AcceloHome
and run the following command.tar -xvf work_dir2.tar.gz
- On the standalone node, run
accelo restart ad-director.
Ensure that you do not run accelo config actions notifications
on the standalone node.
When you run accelo config actions notifications
, need to perform the following steps:
- On the core node, navigate to
$AcceloHome
and run the following command.
tar -cvf work_dir2.tar.gz $(ls -d work/*/director) config/krb/security/krb5.conf
- Copy
work_dir.tar.gz
over to the standalone node. - On the standalone node, navigate to
$AcceloHome
and run the following command.tar -xvf work_dir2.tar.gz.
- On the standalone node, run
accelo restart ad-director
.