Cluster Scaling

    +
    Clusters can be multi-dimensionally scaled by adding or removing service instances and whole services, and by adjusting the size of service instances.

    The dimensions of multi-dimensional scaling are:

    1. Adding and removing service instances

    2. Increasing and decreasing the size of service instances

    3. Adding and removing whole services

    Cluster Services

    Couchbase clusters are made up of multiple independent services. The capacity of a cluster is measured by the individual capacities of each of the services that run on the cluster. Scaling a cluster means scaling the individual capacities of each of the cluster’s constituent services. Services are set up on a per-node basis. Each node runs one instance of a service.

    The capacity of an individual service is determined by multiplying the following factors:

    • The number of instances (nodes) that make up a service

    • The size of those instances (VM instance type and storage)

    Each of these factors can be independently scaled. Adding additional instances to a service is known as scaling out. Increasing the size of a service’s instances is known as scaling up. Removing instances is known as scaling in, and reducing the size of instances is known as scaling down. These scaling techniques, together with the ability to add and remove whole services within a cluster, enable multi-dimensional scaling.

    Rebalance

    All types of cluster scaling result in the addition or removal of nodes from a cluster. Even changing the size of service instances results in new nodes being added to the cluster, since the underlying virtual machines are swapped out for new ones. After performing any of these procedures, the cluster will rebalance to accommodate the new number of active member nodes.

    Cluster rebalance is a process that is required for redistributing data and indexes among available nodes whenever nodes have been added or removed. During rebalance, the cluster continues to service requests for data while the cluster map is correspondingly updated and distributed to clients.

    Couchbase Server is designed to maintain consistent availability and performance during rebalance. However, you should consult the rebalance documentation to familiarize yourself with how each service behaves during a rebalance, so you can asses the impacts of this process on your deployments accordingly.

    Scale a Cluster

    To add a new service to a cluster, see Add a New Service to a Cluster.

    To add and remove nodes on a cluster, or increase and decrease the size of existing nodes, see Modify an Existing Service on a Cluster.

    To remove a service from a cluster, see Remove a Service from a Cluster.

    Cluster Scaling Statuses

    When you create, modify, or delete a cluster, from the main navigation, you can click Clusters, or click Projects and open your project, and view the status of your cluster. For example, Deploying, Healthy, Unhealthy, or Destroying.

    When you click an individual cluster to open it during the creation process, you can view a deployment message that the new cluster is being configured. When a cluster has finished deploying, you can view its status on all of its cluster pages.

    Cluster Statuses

    The following statuses are applicable to your cluster:

    Status Description

    DEPLOYING

    Cluster initially deploying.

    DEPLOYMENT FAILED

    Initial cluster deployment failed. Delete the cluster and recreate it, or contact support.

    REDEPLOYING

    Cluster redeploying for scaling, upgrading. peering, or balancing.

    REDEPLOYMENT FAILED

    Cluster redeployment failed. Contact support.

    DRAFT

    Cluster is in draft status.

    NORMAL

    Cluster is Healthy and operational.

    UNHEALTHY

    Cluster is unhealthy.

    DELETING

    Cluster deleting.

    DELETION FAILED

    Cluster Deletion failed. Retry the deletion or contact support.

    Cluster Events

    You can click the Activity tab in the main navigation, and view the corresponding summary event for your cluster. For example, Cluster Deployment Requested and Cluster Deployment Completed, or Cluster Deletion Requested and Cluster Deletion Completed.

    Clicking on the Summary link for the cluster opens a fly-out that includes details about the selected event. For more information about cluster events, see Activity Explorer.

    Cluster Running Jobs

    From the Clusters or Projects tab, when you click an individual cluster that might be scaling, you can view the following in the jobs panel that are currently in progress and running:

    • Scaling

    • Recovering

    • Upgrading

    • Backing up

    • Restoring

    • Importing

    For every cluster, you can view the following in the jobs panel for each job running:

    • Job name

    • Current step in progress

    • Job start time

    • Current completion percentage

    When there are multiple jobs running on a cluster, you can scroll through each one. When a job successfully completes, or fails and does not complete, it is removed from the jobs panel. When no jobs are running, the jobs panel is not displayed.