创建实例
Bigtable 实例是 Bigtable 集群的容器。具有多个集群的实例使用复制功能。您最多可以在 8 个区域中创建集群,每个区域中的集群数量与可用区数量相同。
本页介绍了如何创建实例。 在阅读本页内容之前,您应先熟悉 Bigtable 概览。此外,还应阅读实例、集群和节点概览。
准备工作
准备环境:
-
Sign in to your Google Account.
If you don't already have one, sign up for a new account.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Bigtable API, Cloud Bigtable Admin API APIs.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Bigtable API, Cloud Bigtable Admin API APIs.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
- 运行以下命令以安装
cbt
CLI:gcloud components install cbt
规划配置:
可选:如果您打算启用复制功能,请执行以下操作:
可选:如果您想使用客户管理的加密密钥 (CMEK),而不是默认的 Google 管理的加密,请完成创建启用 CMEK 的实例中的任务,并在创建新实例之前准备好 CMEK 密钥 ID。创建实例后,您无法向实例添加 CMEK 保护,也无法修改或替换 CMEK 密钥。
创建实例
要创建 Bigtable 实例,请执行以下操作:
控制台
在 Google Cloud 控制台中,转到创建实例页面。
输入实例的名称。
Google Cloud 控制台会显示此名称来标识您的实例。
输入实例 ID。
此实例 ID 是实例的永久性标识符。
点击继续。
选择是使用 SSD 还是 HDD 磁盘来存储您的集群。在大多数情况下,最好选择 SSD。一旦选择便无法更改。了解详情。
点击继续。
输入第一个集群的集群 ID。
此集群 ID 是集群的永久性标识符。
选择将运行第一个集群的区域和地区。
可选:如需将集群配置为始终以 2 个节点为增量进行伸缩,请选择启用 2 倍节点伸缩。并非所有可用区都支持 2 倍节点伸缩。如需了解详情,请参阅伸缩。
为集群选择节点扩缩模式。在大多数情况下,您应选择自动扩缩。如需获取伸缩指南,请参阅自动伸缩。
- 在手动节点分配部分,输入第一个集群的 Bigtable 节点数量。 如果您不确定需要多少个节点,请使用默认值。您可以稍后添加更多节点。
- 对于自动扩缩,请输入以下内容的值:
- 节点数下限
- 节点数上限
- CPU 利用率目标
- 存储空间利用率目标
可选:如需使用 CMEK 而非默认的 Google 管理的加密来保护您的实例,请完成以下操作:
- 点击显示加密选项。
- 选择客户管理的加密密钥 (CMEK) 旁边的单选按钮。
- 选择或输入要用于集群的 CMEK 密钥的资源名称。您无法在之后添加。
- 如果系统提示您向 CMEK 密钥的服务账号授予权限,请点击授予。您的用户账号必须获得 Cloud KMS Admin 角色才能完成此任务。
- 点击保存。
可选:如需立即启用复制功能,请完成以下额外步骤:
- 点击显示高级选项。
- 点击添加集群,输入集群的设置,然后点击添加。重复此步骤,在实例中创建其他集群。您也可以稍后通过添加集群来启用复制功能。
一个区域中的每个可用区只能包含一个集群。如果添加集群按钮不可用,请更改第一个集群所在的地区。
要创建包含六个以上集群的实例,请先创建包含六个集群的实例,然后向该实例添加更多集群。
点击创建以创建实例。
查看默认应用配置文件中的复制功能设置,确认这些设置是否适用于您的复制功能使用场景。您可能需要更新默认应用配置文件或创建自定义应用配置文件。
gcloud
使用
bigtable instances create
命令创建一个实例:gcloud bigtable instances create INSTANCE_ID \ --display-name=DISPLAY_NAME \ [--cluster-storage-type=CLUSTER_STORAGE_TYPE] \ [--cluster-config=id=CLUSTER_ID,zone=CLUSTER_ZONE, \ nodes=NODES] \ [--cluster-config=id=CLUSTER_ID,zone=CLUSTER_ZONE, \ autoscaling-min-nodes=AUTOSCALING_MIN_NODES, \ autoscaling-max-nodes=AUTOSCALING_MAX_NODES, \ autoscaling-cpu-target=AUTOSCALING_CPU_TARGET, \ autoscaling-storage-target=AUTOSCALING_STORAGE_TARGET, \ kms-key=KMS_KEY] \ [--node-scaling-factor=NODE_SCALING_FACTOR]
替换以下内容:
INSTANCE_ID
:实例的永久性标识符。DISPLAY_NAME
:在 Google Cloud 控制台中用于识别实例的简单易懂的名称。CLUSTER_ID
:集群的永久性标识符。CLUSTER_ZONE
:运行集群的可用区。
您必须使用
--cluster-config
标志为实例配置至少一个集群。如需创建具有多个集群的实例,请为每个集群重复使用--cluster-config
标志。对于手动节点分配,在
--cluster-config
标志中设置nodes
是可选的。如果未设置任何值,Bigtable 会根据您的数据占用空间自动向集群分配节点,并针对 50% 的存储空间利用率进行优化。这种自动分配节点会影响价格。如果您想控制集群中的节点数量,请将NODES
替换为您希望集群中的节点数量。详细了解节点。在大多数情况下,请选择自动扩缩,而不是手动节点分配。对于_autoscaling,请在
--cluster-config
标志中提供autoscaling-
选项(autoscaling-storage-target
是可选项),并且不要使用nodes
。如需了解如何为自动扩缩设置选择值,请参阅自动扩缩。将cluster-config
选项键替换为以下内容:AUTOSCALING_MIN_NODES
:集群的节点数下限。AUTOSCALING_MAX_NODES
:集群的节点数上限。AUTOSCALING_CPU_TARGET
:集群的目标 CPU 利用率百分比。此值必须介于 10 到 80 之间。AUTOSCALING_STORAGE_TARGET
(可选):Bigtable 通过添加或移除节点维护的存储利用率目标(以 GiB 为单位)。KMS_KEY:集群的 CMEK 密钥。
KMS_KEY 值必须采用以下格式设置:
projects/PROJECT/locations/LOCATION/keyRings/KEYRING/cryptoKeys/KEY
替换以下内容:
- PROJECT:项目的永久性标识符
- LOCATION:集群的位置
- KEYRING:包含密钥的密钥环的名称
- KEY:密钥的名称
下面给出了一个示例:
projects/examplestore.com:dev/locations/us-east1/keyRings/devt-cmek-2/cryptoKeys/key2
如果实例受 CMEK 保护,则每个集群都必须与其 CMEK 密钥位于同一区域。您只能将 CMEK 集群添加到受 CMEK 保护的实例。了解详情。
此命令接受以下可选标志:
--cluster-storage-type=CLUSTER_STORAGE_TYPE
:要供实例使用的存储空间类型。默认值为SSD
。 在大多数情况下,最好使用默认值。一旦选择便无法更改。了解详情。--project=PROJECT
:要在其中创建集群的项目(如果与当前项目不同)。--node-scaling-factor=NODE_SCALING_FACTOR
:用于启用2 倍节点伸缩的标志。您可以同时启用手动伸缩和自动伸缩功能。可接受的值为node-scaling-factor-2x
或node-scaling-factor-1x
。
如需查看不支持 2 倍节点伸缩的 Bigtable 可用区的列表,请参阅节点伸缩因子限制。
查看默认应用配置文件中的复制功能设置,确认这些设置是否适用于您的复制功能使用场景。您可能需要更新默认应用配置文件或创建自定义应用配置文件。
cbt
首先创建一个单集群实例。使用
createinstance
命令创建一个实例:cbt createinstance INSTANCE_ID \ DISPLAY_NAME \ CLUSTER_ID \ CLUSTER_ZONE \ CLUSTER_NUM_NODES \ CLUSTER_STORAGE_TYPE
提供以下信息:
INSTANCE_ID
:实例的永久性标识符。DISPLAY_NAME
:在 Google Cloud 控制台中用于识别实例的简单易懂的名称。CLUSTER_ID
:集群的永久性标识符。CLUSTER_ZONE
:运行集群的可用区。CLUSTER_NUM_NODES
:此字段是可选字段。如果未设置任何值,Bigtable 会根据您的数据占用空间自动分配节点,并针对 50% 的存储利用率进行优化。如果您想控制集群中的节点数量,请更新CLUSTER_NUM_NODES
值。确保将节点数设置为非零值。详细了解节点。CLUSTER_STORAGE_TYPE
:供集群使用的存储设备类型。实例中的每个集群都必须使用相同类型的存储设备。接受的值为SSD
和HDD
。 在大多数情况下,最好选择SSD
。一旦选择便无法更改。了解详情。
如需启用复制功能,请使用
createcluster
命令添加集群:cbt -instance=INSTANCE_ID \ createcluster CLUSTER_ID \ ZONE \ NUM_NODES \ STORAGE_TYPE
提供以下信息:
INSTANCE_ID
:您刚刚创建的实例的永久性标识符。CLUSTER_ID
:集群的永久性标识符。ZONE
:运行集群的可用区。一个区域中的每个可用区只能包含一个集群。 例如,如果实例在
us-east1-b
中有一个集群,则您可以在同一区域中的不同可用区(例如us-east1-c
)或一个单独区域中的一个可用区(例如europe-west2-a
)中添加一个集群。NUM_NODES
:此字段是可选字段。如果未设置任何值,Bigtable 会根据您的数据占用空间自动分配节点,并针对 50% 的存储利用率进行优化。如果您想控制集群中的节点数量,请更新NUM_NODES
值。确保将节点数设置为非零值。在许多情况下,实例中每个集群的节点数量应当相同,但也存在例外情况。了解节点和复制功能。
STORAGE_TYPE
:供集群使用的存储设备类型。实例中的每个集群都必须使用相同类型的存储设备。接受的值为SSD
和HDD
。
(可选)查看默认应用配置文件中的复制功能设置,确认这些设置是否适用于您的复制功能使用场景。您可能需要更新默认应用配置文件或创建自定义应用配置文件。
C++
如需了解如何安装和使用 Bigtable 的客户端库,请参阅 Bigtable 客户端库。
如需向 Bigtable 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
C#
如需了解如何安装和使用 Bigtable 的客户端库,请参阅 Bigtable 客户端库。
如需向 Bigtable 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Java
如需了解如何安装和使用 Bigtable 的客户端库,请参阅 Bigtable 客户端库。
如需向 Bigtable 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Node.js
如需了解如何安装和使用 Bigtable 的客户端库,请参阅 Bigtable 客户端库。
如需向 Bigtable 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
PHP
如需了解如何安装和使用 Bigtable 的客户端库,请参阅 Bigtable 客户端库。
如需向 Bigtable 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Python
如需了解如何安装和使用 Bigtable 的客户端库,请参阅 Bigtable 客户端库。
如需向 Bigtable 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Ruby
如需了解如何安装和使用 Bigtable 的客户端库,请参阅 Bigtable 客户端库。
如需向 Bigtable 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
后续步骤
- 了解 Bigtable 如何使用实例、集群和节点。
- 了解 Bigtable 复制。
- 查看和更新默认应用配置文件中的复制功能设置并根据需要创建自定义应用配置文件。
- 了解如何修改现有实例。