Open topic with navigation
For continuous data availability during an upgrade from NuoDB 2.4, follow the instructions in this topic. Continuous data availability requires:
To prepare for upgrading a host that is running NuoDB 2.4, execute the NuoDB Manager
show domain health command. Its output should indicate that membership and connectivity are
OK, there are no untracked processes and memory use and CPU use are within acceptable boundaries. If
show domain health output indicates any issues, you should resolve them before upgrading. See Show Domain.
In a rolling upgrade, you upgrade one host in the domain at a time. For each database, ensure that its last upgraded host runs a transaction engine for that database. Ideally, a database's last upgraded host is running a transaction engine and not also a storage manager for that database. Otherwise, you can upgrade hosts in any order.
The rolling upgrade procedure consists of executing the following steps on each host: 1) shutting down NuoDB processes and services, 2) installing the latest release of NuoDB, and 3) restarting the broker.
For each host in the domain, execute the following steps:
With release 2.4, you no longer need to disable enforcement for the domain while you upgrade a host. However, NuoDB recommends that you disable enforcement for each database that is running a storage manager on the host you want to upgrade. This ensures that NuoDB does not start a storage manager on another host while this host is being upgraded. Avoiding this is the quickest way to have the upgraded host up and running again.
To shut down processes and services on a NuoDB 2.4 host:
Disable enforcement for each database for which a storage manager is running on this host. For example, invoke a command like the following for each database:
anAdminUserPw\ --command 'disable enforcer database
Invoke the NuoDB Manager
shutdown host command with these options:
trueso that connections are allowed to complete.
trueto shut down the broker in addition to all database processes.
trueso that the enforcer does not try to restart transaction engines on this host for any databases that have enforcement enabled. When you restart the broker then NuoDB automatically re-enables enforcement on this host.
On a host running NuoDB 2.4, the following example shuts down database processes and the broker. While the broker is down, it remains in the durable domain configuration.
anAdminUserPw\ --command 'shutdown host
172.31.46.122graceful true shutdownHost true disableEnforcer true'
For details about running the
shutdown host command, see
If the host is running the NuoDB REST service, shut it down. For example, the command on Linux is:
sudo service nuorestsvc stop
For more details, see Starting and Stopping NuoDB Services.
Caution: Do not uninstall the previous release of NuoDB. Doing so can cause problems if the new NuoDB user ID (
uid) does not match the old one.
On each host in the domain, install the new NuoDB binaries. According to the platform on which you are installing NuoDB, see the instructions in
On most platforms you can install directly over the previous release. One exception is when using the RedHat Package Manager on Linux. In this case it is necessary to run
sudo rpm --upgrade nuodb-
Installation does not overwrite the NuoDB configuration files:
default.properties file or
nuodb-rest-api.yml file. However, if you want to update these files to take advantage of new features or changed features then you should update these files before you restart the broker in the next step.
After installation is complete, start the broker. The following example starts the broker on Linux. See also Starting and Stopping NuoDB Services.
sudo service nuoagent startStarting NuoDB agent [ OK ]
In the unusual event that there is a problem restarting the broker, you might need to remove the broker from the domain membership. This is also referred to as deprovisioning the broker. The result is that the broker is no longer in the durable domain configuration. See NuoDB Agent Tool.
If a host also runs the NuoDB REST service, then start that service. The following example restarts the NuoDB REST service on Linux.
sudo service nuorestsvc start
It is not necessary to restart your database(s). The NuoDB enforcer automatically restarts them. You can invoke
show domain summary to confirm that they are running:
nuodb [domain] >
show domain summaryHosts: [broker] * ec2-52-11-92-215.us-west-2.compute.amazonaws.com/18.104.22.168:48004 (us-west-2) CONNECTED [broker] ip-172-31-0-24/22.214.171.124:48004 (us-west-2) CONNECTED Database: test, template [Minimally Redundant] MET, processes [2 TE, 2 SM], ACTIVE [SM] ip-172-31-0-68/126.96.36.199:48005 (us-west-2) [ pid = 8599 ] [ nodeId = 2 ] RUNNING [TE] ip-172-31-0-68/188.8.131.52:48006 (us-west-2) [ pid = 8625 ] [ nodeId = 4 ] RUNNING [SM] ip-172-31-0-24/184.108.40.206:48005 (us-west-2) [ pid = 30301 ] [ nodeId = 1 ] RUNNING [TE] ip-172-31-0-24/220.127.116.11:48006 (us-west-2) [ pid = 30325 ] [ nodeId = 3 ] RUNNING nuodb [domain] >
show host versionHost: 18.104.22.168 2.5.6 Professional Edition
enable enforcement databasecommand for each database. For example:
anAdminUserPw\ --command 'enable enforcer database
Repeat these four steps for each host in the domain.
Perform the Tasks After Upgrading to Release 2.4.
See also: Verifying the Rolling Upgrade.