google cloud dataproc无法使用初始化脚本创建新集群

y1aodyip  于 2021-06-28  发布在  Hive
关注(0)|答案(3)|浏览(504)

我正在使用以下命令创建data proc cluster:
gcloud dataproc集群创建informetis dev--initialization actions“gs://dataproc initialization actions/jupyter/jupyter.sh,gs://dataproc initialization actions/cloud sql proxy/cloud sql proxy.sh,gs://dataproc initialization actions/hue/hue.sh,gs://dataproc initialization actions/ipython notebook/ipython.sh,gs://dataproc initialization actions/tez/tez.sh,gs://dataproc initialization actions/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/ganglia.sh,gs://dataproc initialization actions/flink/flink.sh”--映像版本1.1--主引导磁盘大小100gb--主计算机类型n1-standard-1--元数据“hive metastore instance=g-test-1022:asia-east1:db\u instance”--num preemptible workers 2--num workers 2--可抢占工作引导磁盘大小1tb--属性hive:hive.metastore.warehouse.dir=gs用法:/informetis dev/hive warehouse--工作机类型n1-standard-2--zone asia-east1-b--bucket info dev
但dataproc未能创建群集,失败文件中有以下错误:
cat+mysql-u hive-phive password-e“”错误2003(hy000):无法连接到“localhost”(111)+mysql-e“create user'''hive-password'''标识的用户'''hive'''”;'错误2003(hy000):无法连接到“localhost”上的mysql服务器(111)
有人知道这次失败的原因吗?

ztyzrc3y

ztyzrc3y1#

看来你错过了 --scopes sql-admin 标志,这将阻止cloudsql代理授权其隧道进入您的cloudsql示例。
此外,除了作用域之外,您还需要确保默认计算引擎服务帐户在保存您的cloudsql示例的任何项目中都具有正确的项目级权限。通常默认的服务帐户是 project editor 在gce项目中,当与 sql-admin 作用域来访问同一项目中的cloudsql示例,但是如果您要访问单独项目中的cloudsql示例,则还必须在拥有cloudsql示例的项目中添加该服务帐户作为项目编辑器。
您可以在部署dataproc集群的项目的iam页面下找到默认计算服务帐户的电子邮件地址,名称为“compute engine default service account”;应该看起来像 <number> @project.gserviceaccount.com`。

5cg8jx4n

5cg8jx4n2#

在您报告时,检测到云sql代理初始化操作有问题。很可能是这样的问题影响了你。
现在,这不应该是个问题。

olhwl3o2

olhwl3o23#

我假设您已经用这样的东西创建了cloudsql示例,对吗?

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分钟的引导时间。

相关问题