Upgrading a Cluster with a Separated Database and Context Graph

  • 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.
  • Install all patches and updates in an earlier version of Spectrum Technology Platform before you upgrade to Spectrum Technology Platform 2020.1.0
  • Important: We recommend that you create a backup before upgrading so that if an error occurs during the upgrade you can recover your flows, security settings, and other settings and customizations, if an error occurs during the upgrade process.

    To retain customized settings in the wrapper.conf file located in the SpectrumDirectory/server/bin/wrapper directory, you will need to compare the contents of wrapper.conf installed during the upgrade with the contents of the backed up 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.

This procedure describes how to upgrade Spectrum Technology Platform when you have separated the configuration database from the server and you have the Context Graph module installed. The upgrade process consists of these steps:

  1. Stop the server cluster.
  2. Stop the configuration database cluster.
  3. Upgrade the last node that was stopped in the configuration database cluster.
  4. Upgrade the other nodes in the configuration database cluster.
  5. Upgrade the server acting as Context Graph master in the server cluster.
  6. Upgrade the non-master servers in the server cluster.

To upgrade a cluster with a separated configuration database and Context Graph, 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:
    • server\modules\hub\hub.properties
    • server\modules\hub\db\neo4j.properties
  3. Identify which node is the serving as the master server for Context Graph.
    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 all the non-master nodes in the server cluster then 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, Context Graph models on the server will not open successfully after upgrading. To ensure that Spectrum Technology Platform stopped cleanly, examine the SpectrumDirectory/server/logs/spectrum-server.log file for errors during shutdown.
  5. Stop all the nodes in the configuration database cluster. Make a note of the last node that you stop in the configuration database cluster. You must start this node first after upgrading.
  6. On the last node that you shut down in the configuration database cluster, execute installdb.sh. The installer upgrades the configuration database.
    Warning: The first node that you upgrade must be the last node that was stopped. This is because on some operating systems the configuration database will start automatically at the end of the upgrade process. If the first node that starts is not the last node that was stopped, data such as job history and configuration settings may be lost. If you do not know which node was stopped last, look in each node's log for the time stamp of the shutdown message. You can find the log in: Spectrum Location\server\logs\spectrum-server.log.
  7. Configure clustering for the database cluster.
    1. Edit the file server/conf/spectrum-container.properties as described in Cluster Properties for a Configuration Database Cluster.
    2. Save and close the spectrum-container.properties file.
    3. Start the last node that was stopped in the configuration database. To start the configuration database, change the working directory to the Spectrum Technology Platform server's bin directory, source the setup file, then type the following command: ./server.start .
      Warning: The first node that you start must be the last node that was stopped to preserve the most recent data. Starting another node first may result in loss of data such as job history and configuration settings. If you do not know which node was stopped last, look in each node's log for the time stamp of the shutdown message. You can find the log in: SpectrumDirectory\server\logs\spectrum-server.log.
    4. After the upgraded configuration database is fully started, repeat the previous steps to upgrade each of the remaining servers in the configuration database cluster and start each of them.
  8. Upgrade the Context Graph master server in the server cluster.
    1. If you are upgrading from Spectrum Technology Platform 12.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. Important: Do not start the server after the master server has been upgraded. You must complete the remaining steps.
      Run the Spectrum Technology Platform installer to upgrade the master server to the new version of Spectrum Technology Platform.
    3. Open the file SpectrumDirectory/server/modules/hub/db/neo4j.properties in an editor and set the following property to true.
      dbms.allow_upgrade=true
    4. Start the Spectrum Technology Platform server.
    5. Open each model in the Relationship Analysis Client and run a query. Any query is sufficient.
    6. Stop the Spectrum Technology Platform server.
    7. Indexed properties are now restricted to a maximum length of 4036 bytes. If your model has an indexed property that exceeds this limitation, proceed to step #task_ppb_1zf_1a__d35e293.
      If your model does not have an indexed property that exceeds this limitation, continue with substep #task_ppb_1zf_1a__d35e258.
    8. Open the SpectrumDirectory/server/modules/hub/hub.properties file in an editor and set the following properties:
      hub.neo4j.database.type=ha
      hub.servers.per.cluster=must be set to number of servers in the cluster
    9. 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.
    10. Skip step 9 and continue to step 10.
  9. Upgrade the Context Graph non-master servers in the server cluster.
    Important: When installing each server select the Server only option in the installer and provide the host and port of one or more of the configuration database servers. You can find the port in the file SpectrumDirectory\Database\repository\spectrum-container.properties. The port is specified in the spectrum.repository.server.connector.bolt.port property.
    1. Delete the models in the SpectrumDirectory/server/modules/hub/db directory.
      Warning: Do not delete the models from the master server.
    2. Important: Do not start the server after the master server has been upgraded. You must complete the remaining steps.
      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 SpectrumDirectory/server/modules/hub/hub.properties file in an editor and confirm that the following properties are set:
      hub.neo4j.database.type=ha
      hub.servers.per.cluster=must be set to number of servers in cluster
    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 all SpectrumDirectory/server/modules/hub/db/model.ModelName directories from the master server to the non-master server.
    6. Repeat these steps for each non-master server in the cluster.
  10. Start all nodes in the cluster consecutively after upgrading.
    1. Make sure that you start node 2 within only a few seconds after starting node 1, and repeat this for each remaining node.
    2. Ensure that each server in the cluster is functioning. Check SpectrumDirectory/server/logs/spectrum-server.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 spectrum-server.log file for errors.