Upgrading a Cluster with the Data Hub Module

Prerequisites:

  • Before upgrading, be sure to read the release notes for the new version. The release notes contain a list of known issues, important compatibility information, supported upgrade paths, and module-specific data backup recommendations.
  • Apply all the latest updates available for your operating system, especially those that resolve issues with Java.
  • Important: We recommend that you create a backup before upgrading so that you can recover your flows, security settings, and other settings, if an error occurs during the upgrade process.
  • Note: If you have customized settings in the wrapper.conf file located in <SpectrumDirectory>/server/bin/wrapper, we recommend that you copy this file to a separate location before you upgrade the Spectrum™ Technology Platform server. After you complete the upgrade, compare the contents of wrapper.conf installed during the upgrade with the contents of the saved copy of the file. You can then manually copy customizations that you want to retain after the upgrade into the updated version of the file. This is particularly important for changes to the initial and maximum Java heap sizes.

In a cluster that runs the Data Hub Module, each node hosts the Spectrum™ Technology Platform server as well as Data Hub Module models. When upgrading, you need to upgrade your models in addition to upgrading the Spectrum™ Technology Platform server.

The upgrade process consists of these steps:

  1. Back up your models and properties files.
  2. On the master server, upgrade Spectrum™ Technology Platform then upgrade your models.
  3. On each non-master server, upgrade Spectrum™ Technology Platform then copy the upgraded models from the master server to the non-master server.

To upgrade a cluster that runs the Data Hub Module, follow this procedure:

  1. Back up the server. For instructions on creating a backup, see the Administration Guide.
    Important: We recommend that you create a backup before upgrading so that you can recover your flows, security settings, and other settings, if an error occurs during the upgrade process.
  2. Open the Relationship Analysis Client and click Manage. Select the model you want to back up then click Backup.
    In addition to backing up your models, back up these two property files:
  3. Identify which node is the serving as the master server for the Data Hub Module.
    1. Open a web browser and go to:

      http://LoadBalancer:8080/jmx-console/HttpAdaptor/list

    2. Scroll down to the neo4j.org domain.

      You will see a set of objects for each model. The Role attribute in the HighAvailability object indicates whether a server is the master for a model.

    3. If you have more than one model and each model has a different master, you need to make one server the master of all the models. To do this, restart the cluster then open the Relationship Analysis Client using the hostname or IP address of one of the nodes rather than the load balancer. In the Relationship Analysis Client, open each model by running a query on each model. This will make the server you are connected to the master for each model.
  4. Stop each non-master node in the cluster; stop the master server last. Stop nodes one at a time rather than all at once.
    Important: Make sure that Spectrum™ Technology Platform stops without errors. If a server does not stop properly, Data Hub Module models on the server will not open successfully after upgrading. To ensure that Spectrum™ Technology Platform stopped cleanly, examine the SpectrumDirectory\server\app\repository\logs\wrapper.log file for errors during shutdown.
  5. Upgrade the master server.
    1. If you are upgrading from Spectrum™ Technology Platform 11.0 or later, each model directory must contain a version.data file. Review all the model.ModelName subdirectories located under SpectrumDirectory/server/modules/hub/db to confirm that they contain a version.data file. If any model directory is missing this file, copy the corresponding version.data file from one of the non-master nodes.
    2. Run the Spectrum™ Technology Platform installer to upgrade the master server to the new version of Spectrum™ Technology Platform.
    3. Open the file SpectrumFolder\server\modules\hub\hub.properties in an editor and confirm that the property hub.neo4j.database.type is set to embedded:
      hub.neo4j.database.type=embedded
    4. Open the file SpectrumFolder\server\modules\hub\db\neo4j.properties in an editor and set the dbms.allow_format_migration property to true:
      dbms.allow_format_migration=true
    5. Start the Spectrum™ Technology Platform server.
    6. Open each model in the Relationship Analysis Client and run a query. Any query is sufficient.
    7. Stop the Spectrum™ Technology Platform server.
    8. Indexed properties are now restricted to a maximum length of 4039 bytes. If your model has an indexed property that exceeds this limitation, proceed to Step 6. If your model does not have an indexed property that exceeds this limitation, continue with substep i below.
    9. Open the SpectrumFolder\server\modules\hub\hub.properties file in an editor and set the property hub.neo4j.database.type to ha:
      hub.neo4j.database.type=ha
    10. Compare any properties files that you backed up to the installed files and make any necessary changes. Do not overwrite new files with old files because new files may contain properties that old files do not.
    11. Skip Step 6 and continue to Step 7.
  6. Indexed properties are now restricted to a maximum length of 4039 bytes. If a model has an indexed property that exceeds this limitation, you will not be able to open that model until you complete the following steps:
    1. Copy the Spectrum\server\modules\hub\db\neo4j.properties file to the Spectrum\server\modules\hub\db\model.modelName folder for each model that exceeds the property constraint of 4039 characters.
    2. Open the neo4j.properties files that you copied in Step a. In a text editor, uncomment and set dbms.index.default_schema_provider to lucene+native-1.0. Make sure the neo4j store upgrade is uncommented and that dbms.allow_format_migration is set to true.
    3. Start the Spectrum™ Technology Platform server.
    4. Remove the Spectrum\server\modules\hub\db\model.modelName\neo4j.properties file or files. By removing the files, version 2.0 of Lucene indexing will now be used by default. We recommend that you fix all models that failed upgrade due to the 4039 indexed property constraint and re-index those models to the latest lucene 2.0 indexes. See the hub model reindex command in the Adminstration Utility section of the Administration Guide.
    5. Stop the Spectrum™ Technology Platform server.
    6. Open the SpectrumFolder\server\modules\hub\hub.properties file in an editor and set the property hub.neo4j.database.type to ha:
      hub.neo4j.database.type=ha
    7. Compare any properties files that you backed up to the installed files and make any necessary changes. Do not overwrite new files with old files because new files may contain properties that old files do not.
  7. Upgrade the non-master servers.
    1. Delete the models in the SpectrumDirectory\server\modules\hub\db directory.
      Warning: Do not delete the models from the master server.
    2. On one of the non-master servers, run the Spectrum™ Technology Platform installer to upgrade it to the new version of Spectrum™ Technology Platform.
    3. Open the SpectrumFolder\server\modules\hub\hub.properties file in an editor and confirm that the property hub.neo4j.database.type is set to embedded:
      hub.neo4j.database.type=embedded
    4. Compare any properties files that you backed up to the installed files and make any necessary changes. Do not overwrite new files with old files because new files may contain properties that old files do not.
    5. Copy the SpectrumFolder\server\modules\hub\db\model.* directories from the master server to the non-master server.
    6. Repeat these steps for each non-master server in the cluster.
  8. Start the cluster.
    1. Start the master server, followed by non-master servers.
    2. Ensure that each server in the cluster is functioning. Check SpectrumFolder\server\app\repository\wrapper.log for any errors.
    3. While directly connected to the master server (bypassing the load balancer), open each model, one at a time, and inspect the wrapper.log file for errors.