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.
This procedure describes how to upgrade Spectrum™ Technology Platform when you have
separated the configuration database from the server and you have the Data Hub
Module installed. The upgrade process consists of these steps:
- Stop the server cluster.
- Stop the configuration database cluster.
- Upgrade the last node that was stopped in the configuration database
cluster.
- Upgrade the other nodes in the configuration database cluster.
- Upgrade the server acting as the Data Hub Module master in the server
cluster.
- Upgrade the non-master servers in the server cluster.
To upgrade a cluster with a separated configuration database and the Data Hub Module,
follow this procedure:
-
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.
-
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:
- SpectrumFolder\server\modules\hub\hub.properties
- SpectrumFolder\server\modules\hub\db\neo4j.properties
-
Identify which node is the serving as the master server for the Data Hub Module.
-
Open a web browser and go to:
http://LoadBalancer:8080/jmx-console/HttpAdaptor/list
-
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.
-
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.
-
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, 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.
-
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.
-
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.
-
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.
-
Configure clustering for the database cluster.
-
Edit the file
server/app/conf/spectrum-container.properties as
described in Cluster Properties for a Configuration Database Cluster.
-
Save and close the spectrum-container.properties
file.
-
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 stopped, and that node must be a seed node. 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 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.
-
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.
-
Upgrade the Data Hub Module master server in the server cluster.
-
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.
-
Important: The installer
will prompt you to start Spectrum™ Technology Platform after the
installation completes. You must disable this option so that the server does
not start automatically when the installation completes.
Run the Spectrum™ Technology Platform installer to upgrade the master
server to the new version of Spectrum™ Technology Platform.
-
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
-
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
-
Start the Spectrum™ Technology Platform server.
-
Open each model in the Relationship Analysis Client and run a query. Any query is
sufficient.
-
Stop the Spectrum™ Technology Platform server.
-
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.
-
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
-
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.
-
Skip Step 6 and continue to Step 7.
-
Upgrade the Data Hub Module 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
InstallationLocation\Database\repository\spectrum-container.properties.
The port is specified in the
spectrum.repository.server.connector.bolt.port
property.
-
Delete the models in the
SpectrumDirectory\server\modules\hub\db
directory.
Warning: Do not delete the models from the master server.
-
Important: The installer
will prompt you to start Spectrum™ Technology Platform after the
installation completes. You must disable this option so that the server does
not start automatically when the installation completes.
On one of the non-master servers, run the Spectrum™ Technology Platform installer to
upgrade it to the new version of Spectrum™ Technology Platform.
-
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
-
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.
-
Copy the
SpectrumFolder\server\modules\hub\db\model.*
directories from the master server to the non-master server.
-
Repeat these steps for each non-master server in the cluster.
-
Start the cluster.
-
Start the master server, followed by non-master servers.
-
Ensure that each server in the cluster is functioning. Check
SpectrumFolder\server\app\repository\wrapper.log for
any errors.
-
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.