修改实例
创建 Bigtable 实例后,您可以在不停机的情况下更新以下设置:
-
您可以升级到企业 Plus 版,也可以降级到企业版。
-
您可以为实例中的集群启用或停用内存层。
-
您可以为实例的集群启用或停用自动扩缩功能,也可以为已启用自动扩缩的集群配置设置。
手动扩缩集群中的节点数
添加或移除节点后,负载状态下的 Bigtable 通常需要几分钟时间来优化集群的性能。
实例中集群的数量
添加集群后,Bigtable 需要一些时间将您的数据复制到新集群。系统将从实例中地理位置最近的集群中复制新集群。通常,距离越远复制时间越长。
实例的标签,用于提供实例的相关元数据
实例的显示名
只能通过删除再重新创建集群来更改集群 ID。
如需更改下列任何项,您必须使用首选设置新建一个实例,从旧实例中导出数据,将数据导入到新实例,然后删除旧实例。
实例 ID
存储类型(SSD 或 HDD)
CMEK(客户管理的加密密钥)配置
准备工作
如果您要将命令行界面用于 Bigtable,请安装 Google Cloud CLI 和 cbt CLI(如果您尚未安装)。
更改版本
您可以升级到企业 Plus 版或降级到企业版,从而在不同版本之间切换。
升级到企业 Plus 版
更改版本后,Bigtable 会自动更新结算信息,并且您可以立即使用企业 Plus 版功能。
控制台
gcloud
使用 bigtable instances update 命令更改版本:
gcloud bigtable instances update INSTANCE_ID \
--edition=ENTERPRISE_PLUS
提供以下信息:
INSTANCE_ID:实例的永久性标识符。
降级到企业版
如需从企业 Plus 版降级到企业版,您必须停用企业 Plus 版独有的功能。更改版本后,Bigtable 会自动更新结算,并且您将无法再使用企业 Plus 版功能。
控制台
在 Google Cloud 控制台中打开 Bigtable 实例列表。
点击要降级的企业版实例,然后点击修改实例。
在版本部分中,选择企业版。
点击保存。
gcloud
使用 bigtable instances update 命令更改版本:
gcloud bigtable instances update INSTANCE_ID \
--edition=ENTERPRISE
提供以下信息:
INSTANCE_ID:实例的永久性标识符。
配置内存中层
您可以启用、停用内存中层,也可以查看有关内存中层的信息。
所需的角色
如需获得配置内存中层所需的权限,请让您的管理员向您授予实例的 Bigtable Admin (roles/bigtable.admin) Identity and Access Management (IAM) 角色。
此预定义角色包含 Bigtable 使用内存层所需的权限。如需查看所需的确切权限,请展开所需权限部分:
所需权限
bigtable.memoryLayer.getbigtable.memoryLayer.listbigtable.memoryLayer.update
如需详细了解 Bigtable 角色和权限,请参阅使用 IAM 进行访问权限控制。
启用内存中层
在企业 Plus 版中,您可以为集群启用内存中层。如需使用内存中层级,您必须使用为内存中配置的应用配置文件。如需了解详情,请参阅内存中层概览。
控制台
在 Google Cloud 控制台中打开 Bigtable 实例列表。
点击要更新的企业版实例,然后点击修改实例。
点击要启用内存中层的集群对应的修改集群。
选择启用内存中缓存。
点击保存。
gcloud
您无法使用 gcloud CLI 启用内存中层。
停用内存中层
在从企业 Plus 版降级到企业版之前,您必须停用内存中层。
控制台
在 Google Cloud 控制台中打开 Bigtable 实例列表。
点击要更新的企业版实例,然后点击修改实例。
点击要停用内存中层的集群对应的修改集群。
清除启用内存中缓存。
点击保存。
gcloud
您无法使用 gcloud CLI 停用内存中层。
获取具有内存中层级的集群列表
控制台
如需在实例概览页面上查看已启用内存中层的集群,请按以下步骤操作:
在 Google Cloud 控制台中打开 Bigtable 实例列表。
点击包含要查看的集群的实例的 ID。
在集群表中,查看内存层列。
gcloud
如需列出在实例上启用了内存中层的集群,请使用 gcloud beta bigtable memory-layers list 命令:
gcloud beta bigtable memory-layers list \
--instance=INSTANCE_ID
提供以下信息:
INSTANCE_ID:实例的永久性标识符。
查看有关内存中层的信息
您可以查看集群的内存中层的状态和容量。
控制台
在 Google Cloud 控制台中打开 Bigtable 实例列表。
点击包含要查看的集群的实例的 ID。
在集群表中,查看集群的内存中列。
gcloud
如需查看集群上内存中层的相关信息(例如内存中层状态),请使用 gcloud beta bigtable memory-layers describe 命令。
gcloud beta bigtable memory-layers describe CLUSTER_ID \
--instance=INSTANCE_ID
提供以下信息:
CLUSTER_ID:集群的永久性标识符。INSTANCE_ID:实例的永久性标识符。
配置自动扩缩
您可以为任何现有集群启用或停用自动扩缩功能。您还可以更改集群的 CPU 利用率目标、节点数下限和节点数上限。如需了解如何选择自动扩缩设置,请参阅自动扩缩。您无法使用 cbt CLI 配置自动扩缩。
启用自动扩缩功能
控制台
在 Google Cloud 控制台中打开 Bigtable 实例列表。
点击要更改的实例,然后点击修改实例。
在配置集群下,点击要更新的集群对应的修改。
选择自动扩缩。
输入以下项的值:
- 节点数下限
- 节点数上限
- CPU 利用率目标
- 存储空间利用率目标
点击保存。
gcloud
如果您不知道实例 ID,请使用
bigtable instances list命令查看项目的实例列表:gcloud bigtable instances list如果您不知道实例的集群 ID,请使用
bigtable clusters list命令查看实例中的集群列表:gcloud bigtable clusters list --instances=INSTANCE_ID将
INSTANCE_ID替换为实例的永久标识符。使用
bigtable clusters update命令启用自动扩缩:gcloud bigtable clusters update CLUSTER_ID \ --instance=INSTANCE_ID \ --autoscaling-max-nodes=AUTOSCALING_MAX_NODES \ --autoscaling-min-nodes=AUTOSCALING_MIN_NODES \ --autoscaling-cpu-target=AUTOSCALING_CPU_TARGET \ --autoscaling-storage-target=AUTOSCALING_STORAGE_TARGET提供以下信息:
CLUSTER_ID:集群的永久性标识符。INSTANCE_ID:实例的永久性标识符。AUTOSCALING_MAX_NODES:节点数下限AUTOSCALING_MIN_NODES:节点数上限AUTOSCALING_CPU_TARGET:Bigtable 通过添加或移除节点来维持的 CPU 利用率目标百分数。此值必须介于 10 到 80 之间。AUTOSCALING_STORAGE_TARGET:Bigtable 通过添加或移除节点维护的存储利用率目标,以 GiB/节点为单位。在许多情况下,实例中每个集群的节点数量应当相同,但也存在例外情况。了解节点和复制功能。
停用自动扩缩
控制台
gcloud
如果您不知道实例 ID,请使用
bigtable instances list命令查看项目的实例列表:gcloud bigtable instances list如果您不知道实例的集群 ID,请使用
bigtable clusters list命令查看实例中的集群列表:gcloud bigtable clusters list --instances=INSTANCE_ID将
INSTANCE_ID替换为实例的永久标识符。使用
bigtable clusters update命令停用自动扩缩并配置固定数量的节点:gcloud bigtable clusters update CLUSTER_ID \ --instance=INSTANCE_ID \ --num-nodes=NUM_NODES --disable-autoscaling提供以下信息:
CLUSTER_ID:集群的永久性标识符。INSTANCE_ID:实例的永久性标识符。NUM_NODES: 此字段是可选字段。如果未设置值,Bigtable 会根据您的数据占用空间自动分配节点,并优化为 50% 的存储空间利用率。如果您想控制集群中的节点数量,请更新NUM_NODES值。确保将节点数设置为非零值。在许多情况下,实例中每个集群的节点数量应当相同,但也存在例外情况。了解节点和复制功能。
更改自动扩缩设置
控制台
在 Google Cloud 控制台中打开 Bigtable 实例列表。
点击要更改的实例,然后点击修改实例。
在配置集群下,点击要更新的集群对应的 。
为以下要更改的任何项输入新值:
- 节点数下限
- 节点数上限
- CPU 利用率目标
- 存储空间利用率目标
点击保存。
gcloud
如果您不知道实例 ID,请使用
bigtable instances list命令查看项目的实例列表:gcloud bigtable instances list如果您不知道实例的集群 ID,请使用
bigtable clusters list命令查看实例中的集群列表:gcloud bigtable clusters list --instances=INSTANCE_ID将
INSTANCE_ID替换为实例的永久标识符。使用
bigtable clusters update命令更新自动扩缩的设置:gcloud bigtable clusters update CLUSTER_ID \ --instance=INSTANCE_ID \ --autoscaling-max-nodes=AUTOSCALING_MAX_NODES \ --autoscaling-min-nodes=AUTOSCALING_MIN_NODES \ --autoscaling-cpu-target=AUTOSCALING_CPU_TARGET \ --autoscaling-storage-target=AUTOSCALING_STORAGE_TARGET提供以下信息:
CLUSTER_ID:集群的永久性标识符。INSTANCE_ID:实例的永久性标识符。
此命令接受可选的自动扩缩标志。您可以使用所有标志,也可以仅查看要更改的值的标志。
AUTOSCALING_MAX_NODES:节点数下限。AUTOSCALING_MIN_NODES:节点数上限。AUTOSCALING_CPU_TARGET:Bigtable 通过添加或移除节点来维持的 CPU 利用率目标百分数。此值必须介于 10 到 80 之间。AUTOSCALING_STORAGE_TARGET:Bigtable 通过添加或移除节点维护的存储利用率目标,以 GiB/节点为单位。在许多情况下,实例中每个集群的节点数量应当相同,但也存在例外情况。了解节点和复制功能。
手动添加或移除节点
在大多数情况下,我们建议您启用自动扩缩。如果您选择不这样做,并且集群的节点伸缩模式为手动,您可以添加或移除节点,但节点数量保持不变,直到您再次更改。如需查看每个可用区每个 Google Cloud 项目的默认节点配额,请参阅节点配额。如果您需要预配超出默认数量的节点,可以申请更多。
要更改集群中使用手动扩缩功能的节点数量,请执行以下操作:
控制台
gcloud
如果您不知道实例 ID,请使用
bigtable instances list命令查看项目的实例列表:gcloud bigtable instances list如果您不知道实例的集群 ID,请使用
bigtable clusters list命令查看实例中的集群列表:gcloud bigtable clusters list --instances=INSTANCE_ID将
INSTANCE_ID替换为实例的永久标识符。使用
bigtable clusters update命令更改节点数量:gcloud bigtable clusters update CLUSTER_ID \ --instance=INSTANCE_ID \ --num-nodes=NUM_NODES提供以下信息:
CLUSTER_ID:集群的永久性标识符。INSTANCE_ID:实例的永久性标识符。NUM_NODES: 此字段是可选字段。如果未设置值,Bigtable 会根据您的数据占用空间自动分配节点,并优化为 50% 的存储空间利用率。如果您想控制集群中的节点数量,请更新NUM_NODES值。确保将节点数设置为非零值。在许多情况下,实例中每个集群的节点数量应当相同,但也存在例外情况。了解节点和复制功能。
cbt
如果您不知道实例 ID,请使用
listinstances命令查看项目的实例列表:cbt listinstances如果您不知道实例的集群 ID,请使用
listclusters命令查看实例中的集群列表:cbt -instance=INSTANCE_ID listclusters将
INSTANCE_ID替换为实例的永久标识符。使用
updatecluster命令更改节点数量:cbt -instance=INSTANCE_ID updatecluster CLUSTER_ID NUM_NODES提供以下信息:
INSTANCE_ID:实例的永久性标识符。CLUSTER_ID:集群的永久性标识符。NUM_NODES: 此字段是可选字段。如果未设置值,Bigtable 会根据您的数据占用空间自动分配节点,并优化为 50% 的存储空间利用率。如果您想控制集群中的节点数量,请更新NUM_NODES值。确保将节点数设置为非零值。在许多情况下,实例中每个集群的节点数量应当相同,但也存在例外情况。了解节点和复制功能。
添加集群
您可以将集群添加到现有实例。一个实例最多可以在 8 个提供 Bigtable 的区域中具有集群。一个区域中的每个可用区只能包含一个集群。 新增集群的理想位置取决于您的用例。
如果您的实例受 CMEK 保护,则每个新集群都必须使用与集群位于同一区域的 CMEK 密钥。在向受 CMEK 保护的实例添加新集群之前,请在计划找到集群的区域中识别或创建 CMEK 密钥。
在将集群添加到单集群实例之前,请先阅读更改复制表的垃圾回收政策时的适用限制,然后查看复制功能设置示例以了解相关建议。
如需向实例添加集群,请执行以下操作:
控制台
在 Google Cloud 控制台中打开 Bigtable 实例列表。
点击要更改的实例,然后点击修改实例。
在配置集群下,点击添加集群。
如果此按钮处于非活动状态,则表示实例所含的集群已达到最大数量。
输入第一个集群的集群 ID。
此集群 ID 是集群的永久性标识符。
选择将运行第一个集群的区域和地区。
可选:如需将集群配置为始终以 2 个节点为增量进行缩减,请选择启用 2 倍节点伸缩。如需了解详情,请参阅节点缩放比例。
为集群选择节点扩缩模式。在大多数情况下,您应选择自动扩缩。如需获取伸缩指南,请参阅自动伸缩。
- 在手动节点分配部分,输入第一个集群的 Bigtable 节点数量。 如果您不确定需要多少个节点,请使用默认值。您可以稍后添加更多节点。
- 对于自动扩缩,请输入以下内容的值:
- 节点数下限
- 节点数上限
- CPU 利用率目标
- 存储空间利用率目标
可选:如需使用 CMEK 而非默认的 Google 管理的加密来保护您的实例,请完成以下操作:
- 点击显示加密选项。
- 选择客户管理的加密密钥 (CMEK) 旁边的单选按钮。
- 选择或输入要用于集群的 CMEK 密钥的资源名称。您无法在之后添加。
- 如果系统提示您向 CMEK 密钥的服务账号授予权限,请点击授予。您的用户账号必须获得 Cloud KMS Admin 角色才能完成此任务。
- 点击保存。
输入集群的节点数量。
在许多情况下,实例中每个集群的节点数量应当相同,但也存在例外情况。了解节点和复制功能。
如果实例受 CMEK 保护,请选择或输入客户管理的密钥。CMEK 密钥必须与集群位于同一区域。
点击添加。
对其他每个集群重复上述步骤,然后点击保存。Bigtable 便会创建集群并开始将数据复制到新集群。复制开始时,您可能会发现 CPU 使用率有所增加。
查看默认应用配置文件中的复制功能设置,确认这些设置是否适用于您的复制功能使用场景。您可能需要更新默认应用配置文件或创建自定义应用配置文件。
gcloud
如果您不知道实例 ID,请使用
bigtable instances list命令查看项目的实例列表:gcloud bigtable instances list如果您不知道实例的集群 ID,请使用
bigtable clusters list命令查看实例中的集群列表:gcloud bigtable clusters list --instances=INSTANCE_ID将
INSTANCE_ID替换为实例的永久标识符。使用
bigtable clusters create命令添加集群:gcloud bigtable clusters create CLUSTER_ID \ --async \ --instance=INSTANCE_ID \ --zone=ZONE \ [--num-nodes=NUM_NODES] \ [--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 --kms-keyring=KMS_KEYRING \ --kms-location=KMS_LOCATION --kms-project=KMS_PROJECT] \提供以下信息: