Upgrade to Version 4.1.3

You can follow the appropriate steps to upgrade Pulse to version 4.1.3 based on your current deployment:

Before upgrading Pulse, ensure that your Docker version is upgraded.

For details, see Upgrade Prerequisite.

Info

In Old Actions (Director), scheduling is based on the Quartz cron format, whereas the New Actions framework uses the standard Linux cron format.

Due to this difference, cron expressions from the old system are not fully compatible with the new system.

As a result, migrated cron expressions may not work as expected in the New Actions framework, especially those using Quartz-specific syntax (such as the ? character).

It is required to review and reconfigure all scheduled actions after migration by updating the cron expressions to a valid Linux cron format.

Failure to do so may result in actions executing at unintended times or not triggering at all.



Enable the runMigrations Property for Dashplots

Before performing a fresh installation or upgrading Pulse to a newer version, verify that the runMigrations property in the ad-dashplots-ui section of the ad-core configuration is set to true.

This property enables the required Dashplot database migrations. If it is not enabled during an upgrade, the ad-dashplots-ui service may fail to start and repeatedly restart with a database migration error similar to the following:

ERROR: column dashplot_reporting.cluster_key does not exist

For more information about the runMigrations property and other Dashplot configuration options, see Configure Dashplot Variables.


Upgrade Pulse from Version 4.1.x to 4.1.3

You need to export all custom dashboards of Dashplots before migration starts and re-import them after migration completes. For details, see Dashboard.

This section describes the required steps to upgrade from Pulse 4.1.x to 4.1.3.

  1. Update ImageTag in:

$AcceloHome/config/accelo.yml

Set it to:

ImageTag: 4.1.3
  1. Back up the existing accelo CLI file and download the latest accelo.linux.

  2. Rename and make the CLI executable:

mv accelo.linux accelo chmod +x ./accelo
  1. Push the updated config to the database:

accelo admin database push-config -a
  1. For online installations, run the following command and press 'Y' at the prompt to get the most recent binaries.

accelo login docker accelo pull all
  1. For offline installations, download the latest image packs, then run the following command to upload them.

docker load -i <image-pack-file>
  1. Delete the existing Impala Stream NATS Consumers (Required for 4.1.0 Upgrades Only).

    1. Delete all existing Impala Stream NATS consumers only when upgrading from Pulse 4.1.0 to Pulse 4.1.3

    2. This step is not required when upgrading from Pulse 4.1.2 to Pulse 4.1.3.

    3. For details, see the template below.

accelo admin hc events consumer delete -s impala_profiles_uuid_<CLUSTER_NAME> -c ImpalaProfileUUIDNatsConsumerShardActor_<CLUSTER_NAME>_impala_profiles_uuid_<CLUSTER_NAME>_<STREAM_SCALE_ID>

For example:

accelo admin hc events consumer delete -s impala_profiles_uuid_odp_zeus -c ImpalaProfileUUIDNatsConsumerShardActor_odp_zeus_impala_profiles_uuid_odp_zeus_0
  1. Delete the existing Pulse profiler stream.

accelo admin hc events delete -s profiler_stream
  1. Enable the ad-dashplots migration flags. For details, see Configure Dashplot Variables.

  2. Stop the following containers, if they are present.

docker stop ad-pg_default docker stop ad-pg-ui_default
  1. Delete the following directories, if they are present.

rm -rf $AcceloHome/data/pg/* rm -rf $AcceloHome/data/pgui/*
  1. Remove the following containers, if they are present.

docker rm ad-pg_default docker rm ad-pg-ui_default
  1. Run the following command to bring up the ad-pg / ad-pg-ui containers and create the required pg / pgui directory paths:

accelo deploy core
  1. Restart all the containers so that they use the updated images.

accelo restart all -d
  1. Uninstall the Hydra agent.

accelo uninstall remote
  1. Install the Hydra agent:

accelo deploy hydra
  1. Reconfigure the cluster to get the updated configuration for agents.

accelo reconfig cluster
  1. To push the updated configuration to the database, execute the following command

accelo admin database push-config
  1. Confirm the ImageTag update:

accelo info

  1. Migrate the hooks to the relevant supported versions. For details, see Hook Migration.

  1. [Optional] If you use custom dashboards, import them into Dashplots. For more information, see Dashboard.

  2. If Pulse monitors multiple clusters, repeat the multi-cluster procedure for each remaining cluster. Skip the current active cluster, as it has already been updated. For more information, see Pulse Monitor Multi-Cluster Deployment.


Upgrade Pulse from Version 4.0.x to 4.1.3

This section describes the required steps to upgrade from Pulse 4.0.x to 4.1.3.

Info

Deprecated Services (4.1.0)

The following services were deprecated and replaced in the 4.1.0 release:

  • ad-director (deprecated) → ad-axnserver

  • ad-proxy (deprecated) → ad-pulse-ui

Before starting the migration:

  1. Run the following command: accelo deploy addons

  2. Ensure the deprecated services are unchecked or disabled.

  3. Proceed with the deployment.

This step must be completed before migration. Otherwise, the migration will fail.

You need to export all custom dashboards of Dashplots before migration starts and re-import them after migration completes. For details, see Dashboard.

Step 1: Update Container Runtime Configuration

Update the /etc/profile.d/ad.sh file based on your container runtime.

For Podman:

export CONTAINER_TOOL='podman' export REGISTRY_AUTH_FILE=${AcceloHome}/config/podman/config.json

For Docker:

export CONTAINER_TOOL='docker'
Info

This step is required because accelo supports Podman and dynamically selects the appropriate container runtime socket based on the configured orchestration tool (Podman or Docker).

Once modified, run the following command to apply the updated environment variables.

source /etc/profile.d/ad.sh

Step 2: Uninstall Hydra Agent

Hydra agents must be uninstalled to stop NATS stream data from being sent.

SSH-based deployment

accelo uninstall remote

Mpack and parcel-based deployments

  • Uninstall Hydra agents from the CDP or Ambari UI.

  • This step is required to stop NATS streams from being sent from the agent's side. Before doing further steps, ensure all NATS stream data has been processed before continuing.


Step 3: Update Accelo CLI

  1. Take a backup of the existing accelo CLI binary.

  2. Download the latest accelo.linux CLI.

  3. Replace the existing binary and make it executable:

mv accelo.linux accelo chmod +x ./accelo

Step 4: Elasticsearch Migration: ES 8.16.6 → ES 8.19.0

Before upgrading Pulse from 4.0.x to 4.1.2 or later, both Elasticsearch instances must be upgraded from 8.16.6 to 8.19.0:

  • ad-elastic

  • ad-fs-elastic

For details about migrating the Elasticsearch DB from 8.16.6 → 8.19.0, see Upgrade ElasticSearch from ES 8.16.6 to ES 8.19.0.


Step 5: Update the Image Tag

Update the ImageTag in $AcceloHome/config/accelo.yml:

$AcceloHome/config/accelo.yml

Set the version to:

ImageTag: 4.1.3

Push the updated configuration to the database:

accelo admin database push-config -a

Verify the update:

accelo info

Step 6: Offline Installations: Load Latest Images

For offline installations, download the latest image packs and load them:

docker load -i <image-pack>.tar

Step 7: Delete the existing Pulse profiler stream.

accelo admin hc events delete -s profiler_stream

Step 8: Run Migration

Run the migration command from $AcceloHome.

Info

Do not change the -v value 4.1.0 unless explicitly instructed by Engineering.

Run the following command on all Pulse nodes, including standalone nodes (where PULSE_SA_NODE is set to true). Examples of such nodes include, but are not limited to, dedicated Pulse standalone instances.

For example:

  • -v: specifies the version you are migrating to (4.1.0). Note: Keep the version as -v 4.1.0, even when you are migrating to any update release version in 4.1.x.

  • -i: specifies the version you are migrating from (4.0.0).

To migrate from version 4.0.0 to 4.1.3, the migration command looks as shown below.

Make sure you run the following command from $AcceloHome.

For a single cluster, run:

accelo migrate -v 4.1.0 -i 4.0.0 -b

For multi-cluster setups, run:

accelo migrate -v 4.1.0 -i 4.0.0 -a -b

If any issues occur during migration, rerun the same command.


Step 9: Online Installations: Pull Latest Images

For online installations, run:

accelo login docker accelo pull all

Press Y when prompted to download the most recent binaries.


Step 10: Stop the following containers, if they are present.

docker stop ad-pg_default docker stop ad-pg-ui_default

Step 11: Delete the following directories, if they are present.

rm -rf $AcceloHome/data/pg/* rm -rf $AcceloHome/data/pgui/*

Step 12: Remove the following containers, if they are present.

docker rm ad-pg_default docker rm ad-pg-ui_default

Step 13: Run the following command to bring up the ad-pg / ad-pg-ui containers and create the required pg / pgui directory paths.

accelo deploy core

Step 14: Restart all the containers so that they use the updated images.

accelo restart all -d

Step 15: (Optional) Migrate from old Actions (ad-director) to the new Actions service.

Pulse does not support Kerberos migration from old actions to new actions. For new actions, the Kerberos plugin had to be added before running any action plugin if the cluster was kerberized.

  1. If the ad-director was previously configured, verify that the new Actions Service (ad-axnserver) container is running.

docker ps -a | grep axnserver
  1. If the Actions Service container is not present, deploy it using the command:

accelo deploy addons
  1. When prompted, select Actions Service.

? Select the components you would like to install: [ ] ALFRED [ ] Acceldata SQL Analysis service > [x] Actions Service [ ] Airflow Connector [ ] Alerts (Agents MUST be configured) [ ] Anomaly Detection [ ] CONFIG SERVER DB
  1. Press Enter to start deployment.

Verify the deployment

After the deployment completes, confirm that the container is running:

docker ps -a | grep axnserver

Expected output (status should be Up):

abc123def456 acceldata/ad-axnserver:4.1.0 "/opt/..." Up 2 minutes 0.0.0.0:19999->19999/tcp ad-axnserver_default

Check the container logs to confirm that the service has started successfully:

docker logs -f ad-axnserver_default

Reconfigure Notifications

If notifications (Email, Slack, Jira) were configured in ad-director, enable them again for the new Actions service.

accelo config actions notifications

Example:

? Select the notifications you would like to enable: [ ] slack > [x] email [ ] jira Enter the JODA Timezone value (Example: Asia/Jakarta): Asia/Jakarta Enter Email DefaultToEmailIds (comma separated list): x, y

After configuration completes:

  • The notifications configuration file is generated.

  • The configuration is pushed to the Pulse database.

Run the migration

Once the Actions Service is running and healthy, run:

accelo migrate actions

Step 16: Install Hydra Agent

  1. Deploy Hydra agents:

accelo deploy hydra

For mpack- or parcel-based deployments, install the Hydra agent using Ambari or Cloudera Manager.

  1. Reconfigure the cluster to apply the updated agent configuration:

accelo reconfig cluster
  1. Push the updated configuration to the database:

accelo admin database push-config

Step 16: (Optional) Enable native SSL in Pulse UI

  • If SSL was previously enabled using ad-proxy, enable native SSL support in Pulse UI.

  • The ad-proxy service has been removed starting in Pulse 4.1.x. Native SSL must now be configured directly in Pulse UI.

  • For instructions, see Enable Native SSL/TLS for Pulse Web UI.


Step 17: Migrate the hooks to the relevant supported versions. For details, see Hook Migration.


Step 18 (Optional): If you use custom dashboards, import them into Dashplots. For more information, see Dashboard.


Step 18 (Optional): If Pulse monitors multiple clusters, repeat the multi-cluster procedure for each remaining cluster. Skip the current active cluster, as it has already been updated. For more information, see Pulse Monitor Multi-Cluster Deployment.


Step 19: Configure Retention

To configure MongoDB cleanup and compaction scheduling:

accelo config retention

Step 20: Create Database Indices

Run the following command to create indices for database collections:

accelo admin database index-db

If readOnlyRootFSEnabled is set to true in $AcceloHome/config/accelo.yml, follow these steps:

  1. Open $AcceloHome/config/accelo.yml and set:

readOnlyRootFSEnabled: false
  1. Run:

accelo admin database push-config accelo restart all -d accelo admin database index-db
  1. Reset readOnlyRootFSEnabled to true and rerun:

accelo admin database push-config accelo restart all -d

Upgrade Pulse from Version 3.8.x. to 4.1.3

Info

The following services were deprecated and replaced in the 4.1.0 release:

  • ad-director (deprecated) → ad-axnserver

  • ad-proxy (deprecated) → ad-pulse-ui

Before starting the migration:

  1. Run the following command: accelo deploy addons

  2. Ensure the deprecated services are unchecked or disabled.

  3. Proceed with the deployment.

You need to export all custom dashboards of Dashplots before migration starts and re-import them after migration completes. For details, see Dashboard.

This step must be completed before migration. Otherwise, the migration will fail.

Step 1: Update Container Runtime Configuration

Update /etc/profile.d/ad.sh based on the container orchestration tool in use.

For Docker:

export CONTAINER_TOOL='docker'

For Podman:

export CONTAINER_TOOL='podman' export REGISTRY_AUTH_FILE=${AcceloHome}/config/podman/config.json
Info

This step is required because accelo supports Podman and dynamically selects the appropriate container runtime socket based on the configured orchestration tool (Podman or Docker).

Once modified, run the following command to apply the updated environment variables.

source /etc/profile.d/ad.sh

Step 2: Uninstall Hydra Agent

Hydra agents must be uninstalled to stop NATS stream data from being sent.

SSH-based deployment

accelo uninstall remote

Mpack and parcel-based deployments

  • Uninstall Hydra agents from the CDP or Ambari UI.

  • This step is required to Stop nats streams data being sent from agents side. Ensure all NATS stream data has been processed before continuing.


Step 3: Update Accelo CLI

  1. Take a backup of the existing Accelo binary.

  2. Download the latest accelo.linux CLI.

  3. Replace the binary and make it executable:

mv accelo.linux accelo chmod +x ./accelo

Step 4: Elasticsearch Migration: ES 8.16.6 → ES 8.19.0

Before upgrading Pulse from 3.8.x to 4.1.2 or later, both Elasticsearch instances must be upgraded from 8.16.6 to 8.19.0:

  • ad-elastic

  • ad-fs-elastic

For details about migrating the Elasticsearch DB from 8.16.6 → 8.19.0, see Upgrade ElasticSearch from ES 8.16.6 to ES 8.19.0.


Step 5: Update ImageTag

Update the ImageTag in:

$AcceloHome/config/accelo.yml

Set:

ImageTag: 4.1.3

Push the updated configuration to the database:

accelo admin database push-config -a

Verify the update:

accelo info

Step 6: Offline Installations: Load Latest Images

For offline installations, download the latest image packs and load them:

docker load -i <image-pack>.tar

Step 7: Run Migration

Info

Do not change the -v value from 4.1.0 unless explicitly instructed by Engineering.

Run the following command on all Pulse nodes, including standalone nodes (where PULSE_SA_NODE is set to true). Examples of such nodes include, but are not limited to, dedicated Pulse standalone instances.

For example:

  • -v: specifies the version you are migrating to (4.1.0). Note: Keep the version as -v 4.1.0, even when you are migrating to any update release version in 4.1.x.

  • -i: specifies the version you are migrating from (3.8.0).

To migrate from version 3.8.0 to 4.1.3, the migration command looks as shown below.

Make sure you run the following command from $AcceloHome

  • For a single cluster, run:

accelo migrate -v 4.1.0 -i 3.8.0 -b
  • For multi-cluster setups, run:

accelo migrate -v 4.1.0 -i 3.8.0 -a -b

If any issues occur, rerun the same migration command.


Step 8: Deploy Core Services

After migration, deploy core services:

accelo deploy core

Step 9: Online Installations: Pull Latest Images

For online installations:

accelo login docker accelo pull all

Press Y when prompted to download the latest binaries.


Step 10: Stop the following containers, if they are present.

docker stop ad-pg_default docker stop ad-pg-ui_default

Step 11: Delete the following directories, if they are present.

rm -rf $AcceloHome/data/pg/* rm -rf $AcceloHome/data/pgui/*

Step 12: Remove the following containers, if they are present.

docker rm ad-pg_default docker rm ad-pg-ui_default

Step 13: Run the following command to bring up the ad-pg / ad-pg-ui containers and create the required pg / pgui directory paths.

accelo deploy core

Step 14: Restart all containers to apply the updated images.

accelo restart all -d

Step 15: (Optional) Migrate from old Actions (ad-director) to the new Actions service

  1. If the ad-director was previously configured, verify that the new Actions Service (ad-axnserver) container is running.

docker ps -a | grep axnserver
  1. If the Actions Service container is not present, deploy it using the command:

accelo deploy addons
  1. When prompted, select Actions Service.

? Select the components you would like to install: [ ] ALFRED [ ] Acceldata SQL Analysis service > [x] Actions Service [ ] Airflow Connector [ ] Alerts (Agents MUST be configured) [ ] Anomaly Detection [ ] CONFIG SERVER DB
  1. Press Enter to start deployment.

Verify the deployment

After deployment completes, confirm that the container is running:

docker ps -a | grep axnserver

Expected output (status should be Up):

abc123def456 acceldata/ad-axnserver:4.1.0 "/opt/..." Up 2 minutes 0.0.0.0:19999->19999/tcp ad-axnserver_default

Check the container logs to confirm that the service has started successfully:

docker logs -f ad-axnserver_default

Reconfigure Notifications

If notifications (Email, Slack, Jira) were configured in ad-director, enable them again for the new Actions service.

accelo config actions notifications

Example:

? Select the notifications you would like to enable: [ ] slack > [x] email [ ] jira Enter the JODA Timezone value (Example: Asia/Jakarta): Asia/Jakarta Enter Email DefaultToEmailIds (comma separated list): x, y

After configuration completes:

  • The notifications configuration file is generated.

  • The configuration is pushed to the Pulse database.

Run the migration

Once the Actions Service is running and healthy, run:

accelo migrate actions

Step 16: Install Hydra Agent

Deploy Hydra agents:

accelo deploy hydra

Reconfigure the cluster:

accelo reconfig cluster

Push updated configuration to the database:

accelo admin database push-config

Step 17: (Optional) Enable native SSL in Pulse UI

  • If SSL was previously enabled using ad-proxy, enable native SSL support in Pulse UI.

  • The ad-proxy service has been removed starting in Pulse 4.1.x. Native SSL must now be configured directly in Pulse UI.

  • For instructions, see Enable Native SSL/TLS for Pulse Web UI.


Step 18: Migrate the hooks to the relevant supported versions. For details, see Hook Migration.


Step 19 (Optional): If you use custom dashboards, import them into Dashplots. For more information, see Dashboard.


Step 20 (Optional): If Pulse monitors multiple clusters, repeat the multi-cluster procedure for each remaining cluster. Skip the current active cluster, as it has already been updated. For more information, see Pulse Monitor Multi-Cluster Deployment.


Step 21: Configure Retention

To configure MongoDB cleanup and compaction:

accelo config retention

Step 22: Create Database Indexes

Create database indexes:

accelo admin database index-db

If readOnlyRootFSEnabled Is Set to true

If readOnlyRootFSEnabled is enabled in $AcceloHome/config/accelo.yml, perform the following steps:

  1. Set readOnlyRootFSEnabled to false.

  2. Push configuration and restart:

accelo admin database push-config accelo restart all -d
  1. Create indexes:

accelo admin database index-db
  1. Set readOnlyRootFSEnabled back to true.

  2. Push configuration and restart again:

accelo admin database push-config accelo restart all -d

Hook Migration

After upgrading Pulse to a newer Pulse version, migrate your existing Hive, Tez, and Spark hooks to the supported hook version required for that release to ensure continued compatibility and event collection.

For information about the supported hook version for each Pulse release, see Supported Hook Versions.

For details about the hook migration steps, see: