Upgrade Hubble Accelerator
Hubble Accelerator updates are often independent from the rest of the Hubble upgrade. That means that you can often upgrade the rest of the Hubble without upgrading the Accelerator and vice-versa. New versions of the Hubble Accelerator are less frequent than Hubble releases and we only recommend upgrading the Accelerator software either when the new version of Hubble requires it, or when there are specific benefits you will gain.
To carry out an upgrade of an Accelerator installed on VMWare using an OVA file, you will need to apply the new 'squashfs' file supplied to you by Hubble to your server. You can do so by following the steps in this section.
Upgrade steps
-
Copy the new firmware sqashfs file to your Hubble Accelerator.
You can do this using a program such as WinSCP or by using the scp (Linux) or pscp (Windows) command line tools. For example, if using scp you can run the following command (the syntax is exactly the same for pscp):
scp <path_and_name_of_squashfs_file> root@<accelerator_ip_address>:/ tmp
Log in to the Accelerator via the ssh client of your choice (e.g. putty).
Check the firmware partitions to identify which is the most suitable one for the new firmware. You can list all the firmware partitions by running the yblsfw command as follows:
The firmware may list up to 5 partitions, starting with /dev/sdh3 and ending with /dev/sdh7. If there are less than 5 partitions, you just need to use the next device available. In the example above, this would be /dev/sdh4.
If the list shows 5 partitions, you will need to overwrite the oldest one that is not a bootstrap partition.
In the example above the oldest firmware version installed is /dev/sdh4, so it should be the one to overwrite.
If there is only a single partition listed when you run the yblsfw:
...then run the lsblk command to list the partitions available to use. The output should be something like this:
Choose a partition that isn't being used. From the above example partition sda5 is not being used.
-
Write the firmware into the partition you determined in the previous step. You can do that by running:
dd if=/tmp/<name_of_squashfs_file> of=<partition to use> bs=10M
For example, if you are upgrading to firmware version 1.1-rc29 and you are writing it to the /dev/ sdh4 partition, you should run the following command:
dd if=/tmp/yb-firmware-version-1.2-rc10.squashfs of=/dev/sdh4 bs=10M
Check that the firmware was installed correctly by running the yblsfw command again. The new firmware should now be shown in the selected partition.
-
Update the configuration with the firmware version that you just installed. To do this open the configuration file with a text editor (i.e. nano or vi):
nano /config/config/config.xml
Change the version to the recently installed firmware (as it is shown on the output from the yblsfw command) in the <boot> section of the configuration XML file. For firmware version 1.1- rc29, you would write:
<boot>
<version>1.2-rc10</version>
</boot>
Stop all the necessary services and tasks before reboot. You'll need to follow our Hubble Accelerator shutdown procedure. Refer to Accelerator Shutdown Instructions in the Hubble Accelerator Maintenance Guide for details.
-
Reboot the machine by running:
reboot; logout
-
Check the firmware is running after the reboot. You can do this by running:
ls /etc
The output should include an entry with the firmware name (e.g. yb-firmware-version-1.2-rc10). If it does, you have successfully installed the new Hubble Accelerator firmware version.
-
The new software version is likely to have further updates that need to be applied. Run the following command:
ybupdate
-
To finish up, you will need to re-enable all the Qlik tasks by running the following command for each of them (you can re-obtain them by running: /opt/attunity/replicate/bin/repctl gettasklist
% ):
/opt/attunity/replicate/bin/repctl connect\; execute <task_name> 3 Flags=0\; disconnect
Upgrade the Actian Vector Database
Only run the following steps if the new firmware version includes a new version of the Actian Vector database. If you are unsure, do not run these steps and contact your Hubble Customer services representative.
-
Initialize the Vector database by running the following command:
ybinitvw
-
Start Vector by running this command:
/etc/init.d/S60ingresVW start
-
Now run the upgrade tool by executing this command:
upgradedb db
-
You will now need to reboot for the changes to take effect:
reboot; logout
You have now finished deploying the new Hubble Accelerator version.
Hubble Accelerator AWS Upgrade
Before starting this process, make sure all replication tasks are stopped! Make sure the attached volume is set to NOT Delete on termination
(see the image below):
Right-click on the running instance and select Launch More Like This:
Select the new AMI with the upgraded version of the firmware and launch the new instance:
The reason to that Launch More Like This should be selected is so that user data is not copied. This ensures that it does not get overwritten during the launch of the new instance.
While the new instance gets started, terminate the old one, making sure the attached volume is not deleted:
Once the volume becomes available because the instance is terminated and the new instance is running, attach the volume to the new instance:
Once Volume has been attached, reboot the new instance and contact Customer Services:
Apply Updates
You should run the following step in case the new Accelerator software includes a new version of the Qlik Replicate syntax files.
The new software version is likely to have further updates that need to be applied. Run the following command:
ybupdate
If the new Accelerator software includes a new version of the Actian Vector database, upgrade it as described in Upgrade the Actian Vector Database.
Hubble Accelerator Upgrade for Docker
To perform upgrade of the dockerized Hubble Accelerator, first you will need to copy new HubbleAccelerator-<version>.tar.gz package to the server on which the previous version of the dockerized accelerator is installed.
Make sure all replication tasks are stopped.
How to Shutdown Replication inside the Docker Container
-
If you need to stop them manually (not using replication web console) you will need to get access to the container from host machine on which this container is deployed:
docker exec -it accelerator_hubble_accelerator_1 bash
-
Change directory to /opt/attunity/replicate/bin:
cd /opt/attunity/replicate/bin
-
Switch user to the Qlik replication user “attunity”:
su attunity
-
Get a list of all the running replication tasks:
ps aux | grep [r]eptasksrv
The running replication tasks are the processes that start repctl reptasksrv
<TASK_NAME>. In the example above there are two tasks running:
Test1
Test2
-
Add Qlik libraries to the LD_LIBRARY_PATH variable, add the II_SYSTEM variable and modify PATH:
export LD_LIBRARY_PATH=/opt/attunity/replicate/lib:/opt/Actian/ VectorVW/ingres/lib:/opt/oracle/client/lib:/opt/microsoft/msodbcsql/ lib64:/opt/ibm/iaccess/lib64:/opt/ibm/db2rtcl/sqllib/ lib64:${LD_LIBRARY_PATH:-/lib:/usr/lib}
export PATH=$PATH:/opt/attunity/replicate/bin:/opt/Actian/VectorVW/ ingres/bin:/opt/Actian/VectorVW/ingres/utility
export II_SYSTEM=/opt/Actian/VectorVW
-
For each task returned by the above, run the following command to get the status of the task and if it is running to stop the replication task:
./repctl connect\; gettaskstatus <TASK_NAME>\; disconnect
./repctl connect\; stoptask <TASK_NAME>\; disconnect
(You can also stop the tasks in the Qlik Console, but you should check the status as instructed below)
The stoptask command used above will signal the task to stop, if the task is currently showing latency, then the task will not stop immediately but will stop after processing the changes that are causing the latency. This will allow you to restart the task with the resume feature, this means you do not need to reload the data.
If you run the stoptask command and manually kill the associated replication process, then you will not be able to use the resume command to restart the task, you will have to restart the task using the reload functionality in order to ensure data consistency. All the tasks must be stopped before moving on to Step 7 and 8.
-
Exit from Qlik user (attunity) to return to the root user:
exit
-
Confirm that the replication tasks have stopped by checking that there are no replication task processes running:
ps aux | grep [r]eptasksrv
-
To escape the docker container execute:
exit
Upgrade Steps
-
After stopping replication tasks stop the docker container and save old configuration scripts:
/etc/hubble/accelerator/stop.sh mv /etc/hubble/ /etc/hubble_old/
-
Create default hubble dirrectory and extract there files from the new HubbleAccelerator-
<version>.tar.gz package:
-
mkdir /etc/hubble
tar xf <path_and_name_of_the_tar_gz_file> -C /etc/hubble
-
Register new hubble accelerator image and copy existing configuration from the previous version of the dockerized accelerator:
cd /etc/hubble/ VERSION=$(cat .version)
docker load -i insightsoftware_accelerator_"${VERSION}".tar mkdir accelerator
cp .version ./*.sh docker-compose*.yml ../hubble_old/accelerator/
.env accelerator/
-
Change the Hubble Accelerator version in .env file inside the /etc/hubble/accelerator/ folder:
HUBBLE_ACCEL_ENV=$(grep -vwE "VERSION" /etc/hubble/accelerator/.env) echo -e "VERSION=${VERSION}\n${HUBBLE_ACCEL_ENV}" > /etc/hubble/ accelerator/.env
-
Run the accelerator:
/etc/hubble/accelerator/start.sh
Check Hubble Accelerator Services
-
To check the Actian Vector and Qlik Replicate services, connect to the container:
docker exec -it accelerator_hubble_accelerator_1 bash
-
Inside the container check the outputs of the next commands:
#To make sure the replication service is running ps aux | grep repctl
#To check VectorWise
/etc/init.d/S60ingresVW status
The outputs should be like this if everything is working correctly:
-
Escape the docker container:
exit
Upgrade the Actian Vector Database
If the '/etc/init.d/S60ingresVW status' and '/etc/init.d/S60ingresVW start' commands will not show any output you will probably need to upgrade the Vector database.
You should only run the following steps if the new Accelerator software includes a new version of the Actian Vector database:
Run only the ybinitvw command to initialize the database for a minor vector version upgrade.
-
For a major vector version upgrade, run all the following commands.
If you are unsure, do not run these steps and contact your Hubble Customer services representative.
-
Access to the docker container from host machine:
docker exec -it accelerator_hubble_accelerator_1 bash
-
Inside the docker container, execute:
ybinitvw
-
Run the following only if this is a major version upgrade of Actian Vector:
/etc/init.d/S60ingresVW start
export II_SYSTEM=/opt/Actian/VectorVW
. ${II_SYSTEM}/ingres/files/rcfiles/iiinitdlib upgradedb db
-
Exit from the docker container and restart it:
exit
docker restart accelerator_hubble_accelerator_1