• Glossary
  • Support
  • Downloads
  • DataStax Home
Get Live Help
Expand All
Collapse All

DataStax Project Mission Control

    • Overview
      • Release notes
      • FAQs
      • Getting support
    • Installing DataStax Mission Control
      • Planning your install
      • Server-based Runtime Installer
        • Services setup with DataStax Mission Control Runtime Installer
      • Bring your own Kubernetes
        • Installing Control Plane
        • Installing Data Plane
    • Migrating
      • Migrating DSE Cluster to DataStax Mission Control
    • Managing
      • Managing DSE clusters
        • Configuring DSE
          • Authentication
          • Authorization
          • Securing DSE
          • DSE Unified Authorization
        • Cluster lifecycle
          • Creating a cluster
          • Creating a single-token cluster
          • Creating a multi-token cluster
          • Terminating a DSE cluster
          • Upgrading a DSE cluster
        • Datacenter lifecycle
          • Adding a DSE datacenter
          • Terminating a DSE datacenter
        • Node lifecycle
          • Adding DSE nodes
          • Terminating DSE nodes
          • Using per-node configurations
      • Managing DataStax Mission Control infrastructure
        • Adding a node to DataStax Mission Control clusters
        • Terminating a node from DataStax Mission Control clusters
        • Storage classes defined
      • Managing DataStax Mission Control resources
        • Accessing Admin Console
        • Configuring DataStax Mission Control
        • Generating a support bundle
    • Operating on DSE Clusters
      • Cleanup
      • Rebuilding
      • Replacing a node
      • Rolling restart
      • Upgrading SSTables
    • Reference
      • DSECluster manifest
      • CassandraTask manifest
  • DataStax Project Mission Control
  • Managing
  • Managing DSE clusters
  • Cluster lifecycle
  • Upgrading a DSE cluster

Upgrading a DataStax Enterprise Cluster With Zero Downtime

DataStax Mission Control is current in Private Preview. It is subject to the beta agreement executed between you and DataStax. DataStax Mission Control is not intended for production use, has not been certified for production workloads, and might contain bugs and other functional issues. There is no guarantee that DataStax Mission Control will ever become generally available. DataStax Mission Control is provided on an “AS IS” basis, without warranty or indemnity of any kind.

If you are interested in trying out DataStax Mission Control please contact your DataStax account team.

Apply and deploy a new version of DataStax Enterprise to an existing cluster. Modify the DSECluster manifest, updating the DSE version from 6.8.25 to 6.8.26.

Prerequisites

  • The kubectl CLI tool.

  • Kubeconfig file` or context pointing to a Control Plane Kubernetes cluster.

Example

The existing deployment consists of 1 datacenter (dc1) with 3 nodes, each node on a separate rack.

Workflow of user and operators

  1. User submits a modified DSECluster manifest to the Control Plane Kubernetes cluster.

  2. Cluster-level operator detects the change and modifies the datacenter-level resource.

  3. Datacenter-level operator detects the change and modifies the rack-level resource.

  4. Datacenter-level operator terminates the instance in the rack.

  5. Datacenter-level operator bootstraps a replacement node.

  6. Datacenter-level operator repeats steps c-e for all racks in one datacenter.

  7. Cluster-level operator repeats steps b-e for all datacenters in a cluster, one dc at a time, in the case of a multi-datacenter cluster.

  8. User follows Upgrade SSTables steps, if required.

    Upgrades of DataStax Enterprise versions follow the same process as configuration change deployments. See Deploying Configuration Changes to a DataStax Enterprise Cluster.

Procedure

  1. Modify the existing DSECluster YAML (demo-dse.yaml) in the Control Plane Kubernetes cluster, overwriting the value 6.8.25 in the spec.serverVersion field with 6.8.26:

    apiVersion: missioncontrol.datastax.com/v1alpha1
    kind: DSECluster
    metadata:
      name: demo
    spec:
      serverVersion: 6.8.26
    ...
  2. Submit the version change to the Kubernetes Control Plane cluster with the following command:

    kubectl apply -f demo-dse.yaml

    The DSE version upgrade is done as a rolling update.

  3. Monitor the progress of the upgrade from the Data Plane east cluster, looking at the status of the CassandraDatacenter with this command:

    kubectl get cassandradatacenter dc1 -o yaml

    Here is a partial sample of the results:

    status:
      cassandraOperatorProgress: Updating
      conditions:
      - lastTransitionTime: "2022-10-20T16:07:10Z"
        message: ""
        reason: ""
        status: "True"
        type: Healthy
      - lastTransitionTime: "2022-10-20T16:07:10Z"
        message: ""
        reason: ""
        status: "False"
        type: Stopped
    ...

    The Updating conditions:status field value of "True" indicates that the update is in progress. Upon completion of the Updating operation, the Cass-Operator changes the Updating conditions:status field value to "False".

What’s next

Users may trigger an Upgrade SSTables operation to rewrite SSTables into newer formats, if required.

Terminating a DSE cluster Datacenter lifecycle

General Inquiries: +1 (650) 389-6000 info@datastax.com

© DataStax | Privacy policy | Terms of use

DataStax, Titan, and TitanDB are registered trademarks of DataStax, Inc. and its subsidiaries in the United States and/or other countries.

Apache, Apache Cassandra, Cassandra, Apache Tomcat, Tomcat, Apache Lucene, Apache Solr, Apache Hadoop, Hadoop, Apache Pulsar, Pulsar, Apache Spark, Spark, Apache TinkerPop, TinkerPop, Apache Kafka and Kafka are either registered trademarks or trademarks of the Apache Software Foundation or its subsidiaries in Canada, the United States and/or other countries.

Kubernetes is the registered trademark of the Linux Foundation.

landing_page landingpage