使用gcloud cbt创建Bigtable表时遭遇RPC错误求助
解决GCP Bigtable创建表时的RPC NotFound错误
从你给出的错误日志来看:
2018/04/24 13:45:14 Creating table: rpc error: code = NotFound desc = Failed to read: projects/{project-id}/instances/bigtabledev
核心问题是cbt工具找不到你要使用的Bigtable实例bigtabledev,下面是几个必须排查的点和对应的解决步骤:
1. 先确认你已经创建了目标Bigtable实例
Bigtable表不能脱离实例单独存在,如果还没创建bigtabledev实例,先执行这条命令创建(替换成你的项目ID和区域):
gcloud bigtable instances create bigtabledev \ --display-name="Bigtable Dev Instance" \ --cluster=bigtabledev-cluster \ --cluster-zone=us-central1-b \ --cluster-num-nodes=1 \ --project=your-project-id
2. 检查cbt的配置文件是否正确指定了项目和实例
cbt工具默认读取~/.cbtrc文件里的配置,如果这个文件没配置或者配置错了,就会找不到实例。
- 打开或创建配置文件:
nano ~/.cbtrc
- 添加以下内容(替换为你的实际项目ID和实例名):
project = your-project-id instance = bigtabledev
保存后重新执行cbt createtable my-table试试。
3. 确认gcloud CLI当前关联的项目是目标项目
如果你的gcloud当前上下文不是包含bigtabledev实例的项目,也会导致找不到资源。执行下面的命令切换项目:
gcloud config set project your-project-id
可以用这条命令验证当前项目是否正确:
gcloud config get-value project
4. 排查账号权限问题(如果前面几步都没问题的话)
确保你使用的gcloud账号拥有足够的权限操作Bigtable,比如Bigtable Admin或者Bigtable Table Admin角色。你可以在GCP控制台的IAM页面检查账号权限,或者通过命令添加权限(需要项目所有者权限):
gcloud projects add-iam-policy-binding your-project-id \ --member=user:your-email@example.com \ --role=roles/bigtable.admin
按上面的步骤逐一排查,应该就能解决这个RPC错误了。
内容的提问来源于stack exchange,提问作者explorer
相关产品推荐
相关产品推荐

