Upgrades for DataStax Enterprise 4.8.x patch releases
Review this information on upgrading DataStax Enterprise (DSE) between patch (point) releases, such as upgrading from DataStax Enterprise 4.8.4 to 4.8.12.
Read and understand these instructions before upgrading. Carefully reviewing the planning and upgrade instructions can prevent errors and data loss. |
TTL expiration timestamps are susceptible to the year 2038 problem.
If the TTL value is long and an expiration date that is greater than the maximum threshold of |
General recommendations
Be sure to read the DataStax Enterprise 4.8 release notes.
DataStax recommends upgrading to DSE 4.8.16. |
DataStax recommends backing up your data prior to any version upgrade, including logs and custom configurations. A backup provides the ability to revert and restore all the data used in the previous version if necessary. |
OpsCenter provides a Backup Service that manages enterprise-wide backup and restore operations for DataStax Enterprise clusters. OpsCenter 6.5 and later is recommended.
General restrictions and limitations during the upgrade process
Restrictions and limitations apply while a cluster is in a partially upgraded state. The cluster continues to work as though it were on the earlier version of DataStax Enterprise until all of the nodes in the cluster are upgraded.
-
Restrictions for all nodes during an upgrade
-
Do not enable new features.
-
Do not run
nodetool repair
. -
Do not bootstrap or decommission nodes.
Failure to upgrade SSTables when required results in a significant performance impact and increased disk usage.
Upgrading is not complete until the SSTables are upgraded.
Nodes on different versions might show a schema disagreement during an upgrade.
-
-
DSE Analytics (Hadoop and Spark) upgrade restrictions
-
Do not run analytics jobs until all nodes are upgraded.
-
Kill all Spark worker processes before you stop the node and install the new version.
-
-
DSE Search (Solr) upgrade restrictions and limitations
-
Do not update schemas.
-
Do not reindex DSE Search nodes during upgrade.
-
Do not issue these types of queries during a rolling restart:
DDL
orTRUNCATE
.
-
-
Security upgrade restrictions
-
Do not change security credentials or permissions until after the upgrade is complete.
-
If you are not already using Kerberos, do not set up Kerberos authentication before upgrading. First upgrade the cluster, then set up Kerberos.
-
DataStax Enterprise and Apache Cassandra® configuration files
Configuration file | Installer-Services and package installations | Installer-No Services and tarball installations |
---|---|---|
dse |
/etc/default/dse (systemd) or /etc/init.d/ (SystemV) |
N/A Node type is set via command line flags. |
dse-env.sh |
/etc/dse/dse-env.sh |
<installation_location>/bin/dse-env.sh |
byoh-env.sh |
/etc/dse/byoh-env.sh |
<installation_location>/bin/byoh-env.sh |
dse.yaml |
/etc/dse/dse.yaml |
<installation_location>/resources/dse/conf/dse.yaml |
logback.xml |
/etc/dse/cassandra/logback.xml |
<installation_location>/resources/logback.xml |
spark-env.sh |
/etc/dse/spark/spark-env.sh |
<installation_location>/resources/spark/conf/spark-env.sh |
spark-defaults.conf |
/etc/dse/spark/spark-defaults.conf |
<installation_location>/resources/spark/conf/spark-defaults.conf |
Configuration file |
Installer-Services and package installations |
Installer-No Services and tarball installations |
cassandra.yaml |
/etc/dse/cassandra/cassandra.yaml |
<installation_location>/conf/cassandra.yaml |
cassandra.in.sh |
/usr/share/cassandra/cassandra.in.sh |
<installation_location>/bin/cassandra.in.sh |
cassandra-env.sh |
/etc/dse/cassandra/cassandra-env.sh |
<installation_location>/conf/cassandra-env.sh |
cassandra-rackdc.properties |
/etc/dse/cassandra/cassandra-rackdc.properties |
<installation_location>/conf/cassandra-rackdc.properties |
cassandra-topology.properties |
/etc/dse/cassandra/cassandra-topology.properties |
<installation_location>/conf/cassandra-topology.properties |
jmxremote.password |
/etc/cassandra/jmxremote.password |
<installation_location>/conf/jmxremote.password |
Configuration file | Installer-Services and package installations | Installer-No Services and tarball installations |
---|---|---|
server.xml |
/etc/dse/resources/tomcat/conf/server.xml |
<installation_location>/resources/tomcat/conf/server.xml |
Preparing to upgrade
-
Back up your data.
OpsCenter provides a Backup Service that manages enterprise-wide backup and restore operations for DataStax Enterprise clusters. OpsCenter 6.5 and later is recommended.
-
Verify your current product version:
dse -v
-
Upgrade to the latest patch release on your current version. The latest version of DSE 4.8 is 4.8.16.
-
Before upgrading, be sure that each node has adequate free disk space. The required space depends on the compaction strategy. See Disk space.
-
Familiarize yourself with the changes and features in DataStax Enterprise and Apache Cassandra:
-
DataStax Enterprise release notes for the upgrade version and complete all required actions.
DSE release notes include required planning, components, changes and enhancements, known issues, and resolved issues. See 4.8 and 5.1.
-
General upgrading advice for any version and new features for Apache Cassandra in NEWS.txt. Be sure to read the NEWS.txt all the way back to your current version.
-
Apache Cassandra changes in CHANGES.txt.
-
-
DataStax Enterprise production-certified changes to Apache Cassandra in the DSE release notes.
-
DataStax driver changes.
DataStax drivers come in two types:
-
DataStax drivers for DataStax Enterprise (DSE) — for use by DSE 4.8 and later
-
DataStax drivers for Apache Cassandra — for use by Apache Cassandra and DSE 4.7 and earlier
While the DataStax drivers for Apache Cassandra drivers can connect to DSE 5.0 and later clusters, DataStax strongly recommends upgrading to the DSE drivers. The DSE drivers provide functionality for all DataStax Enterprise (DSE) features.
-
-
-
-
DSE Search nodes
-
Tune the schema before you upgrade.
-
All unique key elements must be indexed in the Solr schema. To verify unique key elements, review
schema.xml
to ensure that all unique key fields must haveindexed=true
. -
If you changed the schema, do a full reindex.
-
-
Back up the configuration files you use to a folder that is not in the directory where you normally run commands.
The configuration files are overwritten with default values during installation of the new version.
Upgrade steps
The DataStax installer automatically performs many upgrade tasks. |
-
Run
nodetool repair
to ensure that data on each replica is consistent with data on other nodes. -
Upgrade order matters. Upgrade nodes in this order:
-
In multiple datacenter clusters, upgrade every node in one datacenter before upgrading another datacenter.
-
Upgrade the seed nodes within a datacenter first.
-
DSE Analytics datacenters
-
For DSE Analytics nodes using DSE Hadoop, upgrade the Job Tracker node first. Then upgrade Hadoop nodes, followed by Spark nodes.
-
-
Transactional/DSE Graph datacenters
-
DSE Search nodes or datacenters
-
With a few exceptions, the cluster continues to work as though it were on the earlier version of DataStax Enterprise until all of the nodes in the cluster are upgraded. Upgrade and restart the nodes one at a time. Other nodes in the cluster continue to operate at the earlier version until all nodes are upgraded.
-
-
-
Run
nodetool drain
to flush the commit log of the old installation:nodetool drain -h hostname
This step saves time when nodes start up after the upgrade, and prevents DSE Search nodes from having to reindex data.
-
Use the appropriate method to install the new product version.
-
To configure the new product version:
-
Compare your backup configuration files to the new configuration files:
-
Look for any deprecated, removed, or changed settings.
-
Be sure you are familiar with the Apache Cassandra and DataStax Enterprise changes and features in the new release.
-
Check for any other configuration files that you might have changed. See Default file locations for Installer-Services and package installation or Installer-No Services and tarball installations).
-
-
Merge the applicable modifications into the new version.
-
-
Verify that the upgraded datacenter names match the datacenter names in the keyspace schema definition:
nodetool status
-
Review the logs for warnings, errors, and exceptions. Warnings, errors, and exceptions are frequently found in the logs when starting an upgraded node. Some of these log entries are informational to help you execute specific upgrade-related steps.
If you find unexpected warnings, errors, or exceptions, contact DataStax Support.
-
Repeat the upgrade and restart on each node in the cluster following the recommended upgrade order. Upgrading and restarting each node is called a rolling restart.
-
After the new version is installed on each node, DataStax recommends upgrading the SSTables on each node.
Upgrading SSTables is recommended for optimal performance, but is not required for patch releases.
nodetool upgradesstables
If the SSTables are already on the current version, the command returns immediately and no action is taken.
Use the
--jobs
option to set the number of SSTables that upgrade simultaneously. The default setting is2
, which minimizes impact on the cluster. Set to0
to use all available compaction threads.
For information about nodetool upgradesstables
, including how to speed it up, see the DataStax Support KB article Nodetool upgradesstables FAQ.
-
If you use the OpsCenter Repair Service, turn on the Repair Service.