Google云数据无法使用初始化脚本创建新群集

时间:2016-10-07 06:12:59

标签: hive google-cloud-sql google-cloud-dataproc metastore cloud-sql-proxy

我使用以下命令创建数据proc集群:

  

gcloud dataproc clusters创建informetis-dev   --initialization-actions“gs://dataproc-initialization-actions/jupyter/jupyter.sh,gs://dataproc-initialization-actions/cloud-sql-proxy/cloud-sql-proxy.sh,gs:// dataproc初始化-动作/色调/ hue.sh,GS://dataproc-initialization-actions/ipython-notebook/ipython.sh,gs://dataproc-initialization-actions/tez/tez.sh,gs:// dataproc初始化-动作/ Oozie的/ oozie.sh,GS://dataproc-initialization-actions/zeppelin/zeppelin.sh,gs://dataproc-initialization-actions/user-environment/user-environment.sh,gs: //dataproc-initialization-actions/list-consistency-cache/shared-list-consistency-cache.sh,gs://dataproc-initialization-actions/kafka/kafka.sh,gs://dataproc-initialization-actions/节/ ganglia.sh,GS://dataproc-initialization-actions/flink/flink.sh”   --image-version 1.1 --master-boot-disk-size 100GB --master-machine-type n1-standard-1 --metadata" hive-metastore-instance = g-test-1022:asia-east1 :db_instance”   --num-preemptible-workers 2 --num-workers 2 --preemptible-worker-boot-disk-size 1TB --properties hive:hive.metastore.warehouse.dir = gs:// informetis-dev / hive-warehouse    - 工程机型n1-standard-2 --zone asia-east1-b --bucket info-dev

但Dataproc无法在故障文件中创建具有以下错误的集群:

  

猫   + mysql -u hive -phive-password -e'' ERROR 2003(HY000):无法连接到本地主机上的MySQL服务器' (111)   + mysql -e'创建用户'' hive' \''通过' \'' hive-password' \'';' ERROR 2003(HY000):无法连接到MySQL   服务器on' localhost' (111)

有人对这次失败有任何想法吗?

3 个答案:

答案 0 :(得分:2)

您似乎错过了initialization action's documentation中描述的--scopes sql-admin标志,这将阻止CloudSQL代理将其隧道授权到您的CloudSQL实例中。

此外,除了范围之外,您还需要确保default Compute Engine service account在具有CloudSQL实例的项目中具有正确的项目级权限。通常,默认服务帐户在GCE项目中是project editor,因此当与sql-admin范围结合使用时,应该足以访问同一项目中的CloudSQL实例,但是如果您正在访问CloudSQL在一个单独的项目中,您还必须将该服务帐户添加为拥有CloudSQL实例的项目中的项目编辑器。

您可以在IAM page下找到部署Dataproc群集的项目的默认计算服务帐户的电子邮件地址,名称为“Compute Engine默认服务帐户”;它应该看起来像<number> @ project.gserviceaccount.com`。

答案 1 :(得分:0)

我假设你已经用这样的东西创建了Cloud SQL实例,对吗?

gcloud sql instances create g-test-1022 \
  --tier db-n1-standard-1 \
  --activation-policy=ALWAYS

如果是这样,那么看起来错误就在于如何格式化元数据的参数。你有这个:

--metadata "hive-metastore-instance=g-test-1022:asia-east1:db_instance”

不幸的是,该区域看起来不完整(asia-east1而不是asia-east1-b)。

此外,通过运行许多初始化操作,您将需要提供非常慷慨的初始化操作超时,以便在您的操作需要一段时间安装时,群集不会假设某些操作失败。您可以通过指定:

来实现
--initialization-action-timeout 30m

这将允许集群为引导程序提供30分钟的初始化操作。

答案 2 :(得分:0)

在您报告时,已检测到cloud sql proxy initialization action有问题。此类问题很可能影响了您。

如今,这不应该成为问题。