Skip to main content
Migration Notice
We're migrating documentation from the old portal into this one. Some things may look a little different or out of place in the meantime — we know, and we're working to get it right. If something's unclear or doesn't look right, let us know.
Version: 2.15.0

ECA Cluster Operational Procedures

This page covers routine ECA cluster maintenance and monitoring tasks: safely shutting down and starting the cluster, changing node IP addresses, rotating the management tool password, recovering a single restarted node, day-to-day monitoring commands, and replacing the ECA cluster's self-signed certificate.

note

The ECA cluster remains operational as long as 2 of its 3 nodes are running — see High Availability and Resilience for the underlying quorum requirement.

Cluster shutdown and startup

Restarting the OS on an ECA node does not automatically start the cluster back up — follow the steps below for a controlled shutdown, restart, and boot process.

Shut down the cluster

  1. Log in to the master node (Node 1) over SSH as ecaadmin.

  2. Bring the cluster down and wait until all nodes report down:

    ecactl cluster down
  3. Shut down the OS on each node individually — SSH to each node and run:

    sudo -s
    shutdown

Start the cluster

  1. SSH to the master node (Node 1) as ecaadmin.

  2. Bring the cluster up:

    ecactl cluster up
  3. Confirm the boot messages show the user tables and signal table exist — this verifies connectivity to the analytics database over HDFS.

  4. Verify the cluster is fully up:

    ecactl cluster status

    Confirm the expected containers and tables are listed in the output.

Change an ECA cluster node's IP address

  1. SSH to the master node (Node 1) as ecaadmin, then bring the cluster down and wait for it to complete:

    ecactl cluster down
  2. Elevate to root and update the network configuration using YaST:

    sudo -s
    yast

    Navigate to networking and update the IP, DNS, and router settings on the interface. Save and exit YaST. Repeat on every node in the cluster.

  3. Once all nodes are updated, verify network connectivity with ping and nslookup.

  4. On the master node (Node 1), edit the ECA environment file:

    nano /opt/superna/eca/eca-env-common.conf

    Update the IP address of each node to match the new settings:

    export ECA_LOCATION_NODE_1=x.x.x.x
    export ECA_LOCATION_NODE_2=x.x.x.x2
    export ECA_LOCATION_NODE_3=x.x.x.x3

    Save and exit (Ctrl+X).

  5. Update the NFS export permissions on every PowerScale cluster managed by this ECA instance to include the new node IP addresses. Replace the IPs below with your actual ECA node IP addresses (the example shows 3 nodes — adjust for your deployment):

    isi nfs exports modify --id 3 -f --add-root-clients="x.x.x.x, y.y.y.y, z.z.z.z" --add-clients="x.x.x.x,y.y.y.y,z.z.z.z"
  6. Update the HDFS access zone with the new ECA node IP addresses:

    isi hdfs rack list --zone=eyeglass
    isi hdfs rack modify igls-hdfsrack0 --zone=eyeglass --client-ip-ranges="x.x.x.x, y.y.y.y, z.z.z.z"
  7. From the master node (Node 1), clear the ZooKeeper ramdisk and restart Docker, then bring the cluster up:

    ecactl cluster exec "sudo rm -rf /opt/superna/mnt/zk-ramdisk/* && sudo systemctl restart docker"
    ecactl cluster up

    Confirm the boot messages look as expected.

  8. Validate the Eyeglass appliance's /etc/hosts file:

    • Log in to Eyeglass over SSH as admin and run cat /etc/hosts.
    • Confirm the new ECA node IP addresses are present. If not, edit /etc/hosts and correct them.
  9. In the Eyeglass web UI, open Manage Services and confirm all active ECA nodes show as Active and green. Any entries still showing the old node IP addresses as inactive should be removed by clicking the red X next to each one.

Rotate the ECA management tool password

Release 2.5.7 and later protects the ECA cluster's management tool UIs (HBase, Kafka, Spark) behind a username/password login over HTTPS, accessible from the Manage Services icon in the Eyeglass GUI. The default login is ecaadmin with password 3y3gl4ss.

  1. Log in to Node 1 over SSH as ecaadmin.

  2. Run the following, replacing <password> with the new password:

    ecactl cluster exec "htpasswd -b /opt/superna/eca/conf/nginx/.htpasswd ecaadmin <password>"

The new password takes effect immediately on all nodes.

Single ECA node restart or rejoin after a host crash

Use this procedure when a single ECA node needs to rejoin the cluster after a restart — for example, after the underlying host was rebooted for maintenance. Under normal conditions, a single node should not be restarted unless directed by Superna Support.

  1. On the master node, log in over SSH as ecaadmin.

  2. Re-integrate the node into the cluster:

    ecactl cluster refresh

    This re-checks access to database tables on all nodes.

  3. Verify there are no dead servers:

    ecactl db shell
    status
  4. If no dead servers are listed, open the Eyeglass GUI, check Manage Services, and confirm all nodes show green.

Monitoring commands

TaskCommand
Check ECA database statusecactl db shell then status
Check overall cluster statusecactl cluster status
Check container memory/CPU stats on a nodeecactl stats (auto-refreshes)

Replace the self-signed certificate for the ECA Nginx proxy

  1. SSH to ECA Node 1.

  2. Back up the existing certificate and key:

    cd /opt/superna/eca/conf/nginx
    mv nginx.crt nginx.crt.bak
    mv nginx.key nginx.key.bak
  3. Generate a new self-signed certificate, replacing the domain name, IP address, and validity period as needed for your environment:

    openssl req -new -x509 -sha256 -newkey rsa:2048 -nodes -keyout nginx.key -days 365 -out nginx.crt -subj "/CN=<your-hostname>" -addext "subjectAltName=DNS:<your-hostname>,IP:<eca-node-ip>"
  4. Push the new certificate to all nodes and restart the Nginx container:

    ecactl cluster push-config
    ecactl cluster services restart --container nginx --all

See Also