Upgrading a Cluster with a Separated Database

Prerequisites:

This procedure describes how to upgrade Spectrum™ Technology Platform when you have separated the configuration database from the server. To upgrade an environment that has a separated configuration database, you first upgrade the configuration database cluster, then the server cluster.

  1. Back up module-specific data for any of these modules if you have them installed.
    Module Items to Back Up
    Advanced Matching Module, Data Normalization Module, and Universal Name Module Back up the contents of these subfolders located in SpectrumLocation/server/modules:
    • cdqdb
    • lucene
    • matcher
    • parser
    • searchindex
    • tables
    .
    Data Hub Module If you do not already have a backup copy of your models, create a backup manually. To create a backup manually, 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\db\neo4j.properties
    Location Intelligence Module Back up your named resources, data, and configuration files.
  2. Stop all the nodes in the server cluster then 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.
  3. On the last node that you shut down in the configuration database cluster, execute installdb.exe. 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 wrapper log for the time stamp of the shutdown message. You can find the wrapper log in: Spectrum Location\server\app\repository\logs\wrapper.log.
  4. After the upgrade process finishes, wait for the server to start, then stop the server.

    You can see when the server has started up by opening the log file <Spectrum Installation Location>\server\app\repository\logs\wrapper.log and looking for this message:

    INFO  [Server] Pitney Bowes Spectrum(TM) Technology Platform Database (Version version build) Started
    Important: Do not attempt to stop the server until after it has fully started for the first time. Stopping the server before it performs an initial startup can cause your installation to become unusable.
  5. Run the conversion utility.
    Note: You must run the conversion utility after upgrading the configuration database cluster and before upgrading the server cluster.
    • In order to run this utility, the server must have adequate disk space. The amount of free disk space needed is three times the size of the server/app/repository/store/databases folder. If necessary, add disk space before proceeding.
    • The conversion process may take an hour or more if you have a large configuration database.
    • If no conversion is necessary, the utility will display a message saying that there is nothing to do.
    1. Verify that all nodes in the configuration database cluster are shut down.
    2. On one of the nodes, back up this folder:
      server/app/repository/store/databases
    3. On the last node that was stopped in the cluster, right-click this file and select Run as administrator:
      SpectrumFolder\server\bin\convert.db.bat
  6. Configure clustering for the database cluster.
    1. Edit the file server/app/conf/spectrum-container.properties as follows:
      spectrum.cluster.name
      • If this is the first node in the cluster, set this to any name you want to give to the cluster. Be sure that the name is unique if you have multiple clusters.
      • If you are adding a node to an existing cluster, set this to the name of the cluster that you want this node to join.
      spectrum.cluster.enabled
      Set this to true.
      spectrum.cluster.address
      Set this to the network interface to which you want this node to bind. Specify 0.0.0.0 if you want the node to bind to all network interfaces.
      spectrum.cluster.seeds
      Set this to the IP address of the configuration database server you want to be used to set up new configuration database nodes added to the cluster. The configuration database from the seed server is copied to the node whenever it starts up so that it is synchronized with the cluster.
      Note: If this is the first node in the cluster you may specify seed nodes that are not yet running. If you know the IP addresses of the nodes you want to use as seed nodes, you may enter those now. Otherwise, you will need to return to this properties file once you have the IP addresses of the seed nodes and enter them.

      You can specify multiple comma-separated IP addresses. You should specify multiple seed nodes so that if one is down others can be used to allow the node to join the cluster. The node will attempt to access each seed node in the order listed. If none of the seed nodes can be reached, the node will not join the 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, right-click the Spectrum™ Technology Platform icon in the Windows system tray and select Start Spectrum™. Alternatively, you can use the Windows Services control panel to start the configuration database by starting the Spectrum Database service.
      Warning: The first node that you start must be the last node that was shut down. Starting up another node first may result in loss of data such as job history and configuration settings. If you do not know which node was shut down last, look in each node's wrapper log for the time stamp of the shutdown message. You can find the wrapper log in: Spectrum Location\server\app\repository\logs\wrapper.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.
  7. Upgrade each node in the server cluster. For more information, see Upgrading a 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 InstallationLocation\server\app\conf\spectrum-container.properties. The port is specified in the spectrum.orientdb.binary.port property.
Note: Any job or subflow stored in the system during a server upgrade is marked as exposed to provide the same behavior for those jobs and subflows as before the upgrade. Any job or subflow that is exported prior to the upgrade will not be exposed. Therefore, when importing these jobs or subflows back into the system, you must manually expose the imported job or subflow.

Some modules have post-upgrade steps you need to perform.

Data Hub Module Open this file in a text editor: server/modules/hub/neo4j.properties and set the property allow_store_upgrade property to true. The purpose of this property is to protect against unintentional and irreversible store upgrades. Setting this property to "true" indicates that you understand the ramifications of proceeding with an upgrade and have taken the necessary precautions before proceeding.

Restart the Spectrum™ Technology Platform server. The server will upgrade each model. Examine the file server/app/repository/logs/wrapper.log for errors or warning messages. Once all models have been upgraded, go back to the hub.properties file and comment out the allow_store_upgrade property.