A cluster represents the actual Cloud Bigtable service. Each cluster belongs to a single Cloud
Bigtable instance. When your application sends requests to a Cloud Bigtable instance, those
requests are actually handled by one of the clusters in the instance.
Each cluster is located in a single zone. An instance's clusters must be in unique zones that
are within the same region. For example, if the first cluster is in us-east1-b, then us-east1-c
is a valid zone for the second cluster. For a list of zones and regions where Cloud Bigtable is
available, see Cloud Bigtable
Locations.
Examples:
// Small production instance:CreateClusterRequestclusterRequest=CreateClusterRequest.of("my-existing-instance","my-cluster").setZone("us-east1-c").setServeNodes(3).setStorageType(StorageType.SSD);
Sets the Google Cloud Key Management Service (KMS) key for a CMEK-protected Bigtable. This
requires the full resource name of the Cloud KMS key, in the format
projects/{key_project_id}/locations/{location}/keyRings/{ring_name}/cryptoKeys/{key_name}
Sets the scaling mode to autoscaling by accepting an AutoscalingConfig where min nodes, max
nodes, CPU utilization percent target, and storage utilization gib per node are set.
Sets the scaling node to manual and sets the number of nodes allocated to this cluster. More
nodes enable higher throughput and more consistent performance.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-18 UTC."],[],[],null,["# Class CreateClusterRequest (2.65.0)\n\nVersion latestkeyboard_arrow_down\n\n- [2.65.0 (latest)](/java/docs/reference/google-cloud-bigtable/latest/com.google.cloud.bigtable.admin.v2.models.CreateClusterRequest)\n- [2.63.0](/java/docs/reference/google-cloud-bigtable/2.63.0/com.google.cloud.bigtable.admin.v2.models.CreateClusterRequest)\n- [2.62.0](/java/docs/reference/google-cloud-bigtable/2.62.0/com.google.cloud.bigtable.admin.v2.models.CreateClusterRequest)\n- [2.61.0](/java/docs/reference/google-cloud-bigtable/2.61.0/com.google.cloud.bigtable.admin.v2.models.CreateClusterRequest)\n- [2.60.0](/java/docs/reference/google-cloud-bigtable/2.60.0/com.google.cloud.bigtable.admin.v2.models.CreateClusterRequest)\n- [2.59.0](/java/docs/reference/google-cloud-bigtable/2.59.0/com.google.cloud.bigtable.admin.v2.models.CreateClusterRequest)\n- [2.58.2](/java/docs/reference/google-cloud-bigtable/2.58.2/com.google.cloud.bigtable.admin.v2.models.CreateClusterRequest)\n- [2.56.0](/java/docs/reference/google-cloud-bigtable/2.56.0/com.google.cloud.bigtable.admin.v2.models.CreateClusterRequest)\n- [2.54.0](/java/docs/reference/google-cloud-bigtable/2.54.0/com.google.cloud.bigtable.admin.v2.models.CreateClusterRequest)\n- [2.52.0](/java/docs/reference/google-cloud-bigtable/2.52.0/com.google.cloud.bigtable.admin.v2.models.CreateClusterRequest)\n- [2.51.2](/java/docs/reference/google-cloud-bigtable/2.51.2/com.google.cloud.bigtable.admin.v2.models.CreateClusterRequest)\n- [2.49.0](/java/docs/reference/google-cloud-bigtable/2.49.0/com.google.cloud.bigtable.admin.v2.models.CreateClusterRequest)\n- [2.46.0](/java/docs/reference/google-cloud-bigtable/2.46.0/com.google.cloud.bigtable.admin.v2.models.CreateClusterRequest)\n- [2.45.1](/java/docs/reference/google-cloud-bigtable/2.45.1/com.google.cloud.bigtable.admin.v2.models.CreateClusterRequest)\n- [2.44.1](/java/docs/reference/google-cloud-bigtable/2.44.1/com.google.cloud.bigtable.admin.v2.models.CreateClusterRequest)\n- [2.43.0](/java/docs/reference/google-cloud-bigtable/2.43.0/com.google.cloud.bigtable.admin.v2.models.CreateClusterRequest)\n- [2.42.0](/java/docs/reference/google-cloud-bigtable/2.42.0/com.google.cloud.bigtable.admin.v2.models.CreateClusterRequest)\n- [2.40.0](/java/docs/reference/google-cloud-bigtable/2.40.0/com.google.cloud.bigtable.admin.v2.models.CreateClusterRequest)\n- [2.39.5](/java/docs/reference/google-cloud-bigtable/2.39.5/com.google.cloud.bigtable.admin.v2.models.CreateClusterRequest)\n- [2.37.0](/java/docs/reference/google-cloud-bigtable/2.37.0/com.google.cloud.bigtable.admin.v2.models.CreateClusterRequest)\n- [2.35.1](/java/docs/reference/google-cloud-bigtable/2.35.1/com.google.cloud.bigtable.admin.v2.models.CreateClusterRequest)\n- [2.34.0](/java/docs/reference/google-cloud-bigtable/2.34.0/com.google.cloud.bigtable.admin.v2.models.CreateClusterRequest)\n- [2.33.0](/java/docs/reference/google-cloud-bigtable/2.33.0/com.google.cloud.bigtable.admin.v2.models.CreateClusterRequest)\n- [2.32.0](/java/docs/reference/google-cloud-bigtable/2.32.0/com.google.cloud.bigtable.admin.v2.models.CreateClusterRequest)\n- [2.31.0](/java/docs/reference/google-cloud-bigtable/2.31.0/com.google.cloud.bigtable.admin.v2.models.CreateClusterRequest)\n- [2.30.0](/java/docs/reference/google-cloud-bigtable/2.30.0/com.google.cloud.bigtable.admin.v2.models.CreateClusterRequest)\n- [2.29.1](/java/docs/reference/google-cloud-bigtable/2.29.1/com.google.cloud.bigtable.admin.v2.models.CreateClusterRequest)\n- [2.28.0](/java/docs/reference/google-cloud-bigtable/2.28.0/com.google.cloud.bigtable.admin.v2.models.CreateClusterRequest) \n\n public final class CreateClusterRequest\n\nParameters for creating a new Bigtable cluster.\n\nA cluster represents the actual Cloud Bigtable service. Each cluster belongs to a single Cloud\nBigtable instance. When your application sends requests to a Cloud Bigtable instance, those\nrequests are actually handled by one of the clusters in the instance.\n\nEach cluster is located in a single zone. An instance's clusters must be in unique zones that\nare within the same region. For example, if the first cluster is in us-east1-b, then us-east1-c\nis a valid zone for the second cluster. For a list of zones and regions where Cloud Bigtable is\navailable, see [Cloud Bigtable\nLocations](https://cloud.google.com/bigtable/docs/locations).\n\nExamples: \n\n\n // Small production instance:\n CreateClusterRequest clusterRequest = CreateClusterRequest.of(\"my-existing-instance\", \"my-cluster\")\n .setZone(\"us-east1-c\")\n .setServeNodes(3)\n .setStorageType(StorageType.SSD);\n \nSee Also: [For more details](https://cloud.google.com/bigtable/docs/instances-clusters-nodes#clusters) \n\nInheritance\n-----------\n\n[java.lang.Object](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html) \\\u003e CreateClusterRequest \n\nInherited Members\n-----------------\n\n[Object.clone()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#clone--) \n[Object.equals(Object)](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#equals-java.lang.Object-) \n[Object.finalize()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#finalize--) \n[Object.getClass()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#getClass--) \n[Object.hashCode()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#hashCode--) \n[Object.notify()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#notify--) \n[Object.notifyAll()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#notifyAll--) \n[Object.toString()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#toString--) \n[Object.wait()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#wait--) \n[Object.wait(long)](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#wait-long-) \n[Object.wait(long,int)](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#wait-long-int-)\n\nStatic Methods\n--------------\n\n### of(String instanceId, String clusterId)\n\n public static CreateClusterRequest of(String instanceId, String clusterId)\n\nBuilds a new request to create a new cluster to the specified instance with the specified\ncluster id.\n\nMethods\n-------\n\n### setKmsKeyName(String kmsKeyName)\n\n public CreateClusterRequest setKmsKeyName(String kmsKeyName)\n\nSets the Google Cloud Key Management Service (KMS) key for a CMEK-protected Bigtable. This\nrequires the full resource name of the Cloud KMS key, in the format\n`projects/{key_project_id}/locations/{location}/keyRings/{ring_name}/cryptoKeys/{key_name}`\n\n### setScalingMode(ClusterAutoscalingConfig autoscalingConfig)\n\n public CreateClusterRequest setScalingMode(ClusterAutoscalingConfig autoscalingConfig)\n\nSets the scaling mode to autoscaling by accepting an AutoscalingConfig where min nodes, max\nnodes, CPU utilization percent target, and storage utilization gib per node are set.\n\n### setScalingMode(StaticClusterSize staticClusterSize)\n\n public CreateClusterRequest setScalingMode(StaticClusterSize staticClusterSize)\n\nSets the scaling node to manual and sets the number of nodes allocated to this cluster. More\nnodes enable higher throughput and more consistent performance.\n\n### setServeNodes(int numNodes) (deprecated)\n\n public CreateClusterRequest setServeNodes(int numNodes)\n\n**Deprecated.** *Please use CreateClusterRequest#setScalingMode instead*\n\nSets the number of nodes allocated to this cluster. More nodes enable higher throughput and\nmore consistent performance.\n\n### setStorageType(StorageType storageType)\n\n public CreateClusterRequest setStorageType(StorageType storageType)\n\nSets the type of storage used by this cluster to serve its parent instance's tables. Defaults\nto `SSD`.\n\n### setZone(String zone)\n\n public CreateClusterRequest setZone(String zone)\n\nSets the zone where the new cluster will be located. Must be different from the existing\ncluster.\n\n### toProto(String projectId)\n\n public CreateClusterRequest toProto(String projectId)\n\n| **Internal Only**: This feature is not stable for application use.\n\nCreates the request protobuf. This method is considered an internal implementation detail and\nnot meant to be used by applications."]]