我正在使用以下命令创建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)
有人知道这次失败的原因吗?
3条答案
按热度按时间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`。5cg8jx4n2#
在您报告时,检测到云sql代理初始化操作有问题。很可能是这样的问题影响了你。
现在,这不应该是个问题。
olhwl3o23#
我假设您已经用这样的东西创建了cloudsql示例,对吗?
如果是这样,那么看起来错误在于元数据参数的格式。你有这个:
不幸的是,这个区域看起来是不完整的(
asia-east1
而不是asia-east1-b
).另外,在运行这么多初始化操作时,您需要提供一个相当大的初始化操作超时时间,这样集群就不会在您的操作需要一段时间才能安装时假设某个操作失败。您可以通过指定:
这将允许集群给初始化操作30分钟的引导时间。