QUESTION:
How do I move a DGE extension to a new (upstream) DGE?
SOLUTION:
The following instructions allow for one or more DGE extensions to be moved from their current upstream DGE to a newly installed DGE. Creating a new DGE for this purpose allows for the retention of existing historical data.
To complete the move of one or more DGE extensions from one DGE to another:
- install new Traverse DGE and reboot
- stop Traverse components on new DGE
- delete these folders from the new DGE
TRAVERSE_HOME\database\mysql\aggregateddatadb\
TRAVERSE_HOME\database\mysql\processdb\ - provision the new DGE by navigating to Superuser->DGE Mgmt in the Web Application
- create a backup of the databases on the existing upstream DGE
- copy the backup of the historical data from the current upstream DGE to the new DGE
WINDOWS
TRAVERSE_HOME\database\backup\backup_aggregateddatadb\ ---> TRAVERSE_HOME\database\mysql\aggregateddatadb\
TRAVERSE_HOME\database\backup\backup_processdb\ ---> TRAVERSE_HOME\database\mysql\processdb\
LINUX - Contact Support
- restore the historical data on the new DGE:
WINDOWS
cd TRAVERSE_HOME net start nvdgedb apps\mysql\bin\mysql --defaults-file=etc\mysql.conf --execute="SHOW TABLES" --database="aggregateddatadb" --skip-column-names > tables.txt for /F %G IN (tables.txt) DO @apps\mysql\bin\mysql --defaults-file=etc\mysql.conf --execute="REPAIR TABLE %G USE_FRM" aggregateddatadb >> logs\database_restore.log apps\mysql\bin\mysql --defaults-file=etc\mysql.conf --execute="SHOW TABLES" --database="processdb" --skip-column-names > tables.txt for /F %G IN (tables.txt) DO @apps\mysql\bin\mysql --defaults-file=etc\mysql.conf --execute="REPAIR TABLE %G USE_FRM" processdb >> logs\database_restore.log
LINUX
cd TRAVERSE_HOME etc/dgedb.init start apps/mysql/bin/mysql --defaults-file=etc/mysql.conf --execute="SHOW TABLES" --database="aggregateddatadb" --skip-column-names > /tmp/tables.txt for i in `cat /tmp/tables.txt`; do apps/mysql/bin/mysql --defaults-file=etc/mysql.conf -u root --password= --execute "REPAIR TABLE $i USE_FRM" aggregateddatadb; done apps/mysql/bin/mysql --defaults-file=etc/mysql.conf --execute="SHOW TABLES" --database="processdb" --skip-column-names > /tmp/tables.txt for i in `cat /tmp/tables.txt`; do apps/mysql/bin/mysql --defaults-file=etc/mysql.conf -u root --password= --execute "REPAIR TABLE $i USE_FRM" processdb; done
- stop the Traverse components on all the existing DGE extensions to be moved
- stop the Traverse components on the current upstream DGE
- stop all the components on the BVE, except for the "Provisioning Database", and “Internal Communication Bus”
- stop the webapp (if you run it in a separate server)
- for each DGE extension, issue the command on the BVE to move it;
WINDOWS
cd TRAVERSE_HOME apps\jre\bin\java -Xmx1024m -XX:-UseSplitVerifier -Dnetvigil.config="%CD%\etc\emerald.properties" -Dlog4j.configuration="file:///%CD%\etc\log4j.conf" -Djava.ext.dirs=webapp\WEB-INF\lib com.zyrion.traverse.utils.MoveDgeExtension "%CD%\etc\emerald.xml" "dge-extension-name" "new-upstream-dge"
LINUX
cd TRAVERSE_HOME
database/schema/alter/moveDgeExtension.sh "dge-extension-name" "new-upstream-dge"
- start the Web Application
- navigate to Superuser->DGE Mgmt, select 'update' link for the DGE Extension, and specify the IP address/FQDN of the new upstream DGE
- stop all the remaining Traverse components on the BVE
- start all the Traverse components on the BVE
- start all the components on the original DGE
- start all the components on the new DGE
- start all components on the DGE extensions that were moved
TROUBLESHOOTING
In case you encounter any issues, please review the following:
- Check the DGEx services remain 'running'.
- Check each DGEx is establishing tcp/9443 to the new DGE.
- run > netstat -tna | grep 9443
- It should be connecting to the IP address of the new DGE.
- If services do not remain running, check the logs, common errors are:
- DGE name in dge.xml does not match the DGE defined via the UI.
- IP address of upstream DGE defined in DGEx in UI is incorrect.
- Firewall blocking tcp/9443 to new DGE.
- If all this is verified and correct, and the DGEx is still not connecting, then restart the services on the DGEx