Version management and rolling upgrade options for Teracloud® Streams
Teracloud® Streams supports managed versions and rolling upgrade.
If you are upgrading to Teracloud® Streams Version 7.2.0, see Upgrading to Teracloud Streams Version 7.2 from prior releases.
- Managed version support enables you to upgrade a domain and its instances independent of each other. When you upgrade a domain, its instances continue to run at their current version. With managed version support, you can upgrade the instances immediately after the domain is upgraded or at a later time. Instances can also be upgraded independent of each other.
- Rolling upgrade support enables you to upgrade a domain or instance to a new version of Teracloud® Streams while the domain or instance is running.
Streams supports version management and rolling upgrade. In addition to running an instance at different version than its domain, you can perform a rolling upgrade without stopping all running jobs and PEs.
Upgrade options
- Standard upgrade:
If a domain or instance is stopped, you can upgrade
the domain or instance by simply starting it with the new version.
- To start a domain with the new version, you can use the streamtool startdomain command.
- To start an instance with the new version, you can use the Streams Console or the streamtool startinstance command.
You can use this same procedure to switch back to an earlier installed Teracloud® Streams version.
- Rolling upgrade:
You can perform an upgrade while the
domain or instance is running.
- To upgrade a domain to the new version, you can use the streamtool upgradedomain command.
- To upgrade an instance to the new version, you can use the Streams Console or the streamtool upgradeinstance command.
Domain and instance version considerations
- You might have applications that require an earlier version than the version that is running on the domain.
- You might want to run the new version on a test instance and run the earlier version on the production instances for a period of time.
If a domain and its instances are running different versions, all versions must be installed in the same root directory. In addition, the domain must run at the same or a later version than all of the instances.
When a domain is upgraded, its instances continue to run at their current version. By default, when you restart an instance after the domain is upgraded, Teracloud® Streams upgrades the instance to the domain version. You can use the instance.startAsVersion and domain.determineInstanceStartAsVersion properties in the following table to override the default behavior.
Property | Description |
---|---|
instance.startAsVersion | Indicates the Teracloud®
Streams version that is used to start the instance. This version must be installed on
the resource where the instance is started, and it must be installed in the same
installation root directory that is used to start the domain. For more information about this property, enter streamtool man properties. To update this property, use the streamtool setproperty command. Notes:
|
domain.determineInstanceStartAsVersion | Indicates whether the instance.startAsVersion property is automatically
set when an instance is created or upgraded.
For more information about this property, enter streamtool man domainproperties. To update this property, use the streamtool setdomainproperty command. |
In a mixed version environment, you must manage the domain by using the Teracloud® Streams version that is running on the domain. For example, if you use the streamtool command-line interface, you must run commands from the installation directory for the domain version and not a different version that is running on an instance in the domain.
Job and PE version considerations
- You can perform a rolling upgrade on your domain and instances without stopping and restarting all jobs and PEs.
- All PEs continue to run in a healthy state while the instance is upgrading and after the upgrade is completed.
- All existing PEs that were running before the upgrade is completed continue to run with their original release version, in this example, Teracloud® Streams Version 7.2.0.0.
- Any new job that you submit to the upgraded instance runs with the release version of the running instance, in this example, Teracloud® Streams Version 7.2.0.1.
- You can use the streamtool lsjobs --long command option to track the release version used by each running job or PE. The ProductVersion column in the streamtool lsjobs command result indicates the release version of running jobs and PEs.