Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google cloud platform 在dataproc上提交Presto作业_Google Cloud Platform_Google Cloud Dataproc - Fatal编程技术网

Google cloud platform 在dataproc上提交Presto作业

Google cloud platform 在dataproc上提交Presto作业,google-cloud-platform,google-cloud-dataproc,Google Cloud Platform,Google Cloud Dataproc,我正试图在使用postgresql连接器运行Presto的集群上提交一个dataproc作业 集群初始化如下所示: gcloud beta dataproc集群创建${CLUSTER\u NAME}\ --项目=${project}\ --region=${region}\ --区域=${zone}\ --bucket=${bucket_NAME}\ --num workers=${workers}\ --范围=云平台\ --初始化操作=${INIT_ACTION} ${INIT_ACTION

我正试图在使用postgresql连接器运行Presto的集群上提交一个
dataproc
作业

集群初始化如下所示:

gcloud beta dataproc集群创建${CLUSTER\u NAME}\
--项目=${project}\
--region=${region}\
--区域=${zone}\
--bucket=${bucket_NAME}\
--num workers=${workers}\
--范围=云平台\
--初始化操作=${INIT_ACTION}
${INIT_ACTION}
指向一个bash文件,其中包含使用postgresql启动presto集群的初始化操作

我不使用
--optional components=PRESTO
,因为我需要
--initialization actions
来执行非默认操作。同时具有
--可选组件
--初始化操作
都不起作用

当我尝试运行简单作业时:

gcloud beta dataproc作业提交预处理\
--群集${cluster\u NAME}\
--区域${region}\
-e“展示表格”
我得到以下错误:

错误:(gcloud.beta.dataproc.jobs.submit.presto)失败\u前提条件:群集
“”需要可选组件PRESTO才能运行PRESTO作业
是否有其他方法来定义集群上的可选组件

更新:

同时使用
--可选组件
--初始化操作
,如下所示:

gcloud beta dataproc集群创建${CLUSTER\u NAME}\
...
--范围=云平台\
--可选组件=PRESTO\
--图像版本=1.3\
--初始化操作=${INIT_ACTION}\
--元数据。。。
${INIT_ACTION}
是从该文件复制的。只需对函数
进行轻微修改,即可配置_连接器
以创建postgresql连接器

运行创建群集时,出现以下错误:

错误:(gcloud.beta.dataproc.clusters.create)操作[projects/…]失败:初始化操作失败。操作“gs://…/presto_config.sh”失败,请参阅:gs://…/dataproc-initialization-script-0_output中的输出。
错误输出记录为:

+presto'--execute=select*from system.runtime.nodes;'
运行命令时出错:java.net.ConnectException:未能连接到本地主机/0:0:0:0:0:1:8080
这让我相信我必须重新编写初始化脚本


当我指定
--optional components=PRESTO

时,如果您只想将可选组件设置为与Postgres端点一起工作,那么知道运行的是哪个初始化脚本就很好了编写可选组件非常容易。您只需添加目录文件并重新启动presto


是初始化操作的一个示例。我已经用presto可选组件成功地测试了它,但它非常简单。请随意将示例放在您的GCS存储桶中。

不幸的是,Dataproc要求在创建集群以使Presto作业类型正常工作时使用可选组件。您应该能够使用可选组件,并在创建集群时指定初始化操作。您的初始化操作将在安装可选组件后运行,因此您仍然可以覆盖Presto组件的默认行为。您能描述一下使用可选组件并指定初始化操作时发生的错误吗?>“您的初始化操作将在安装可选组件后运行,因此您仍然可以覆盖Presto组件的默认行为。”很高兴知道它们的执行顺序,谢谢。我将尝试你的建议,并在今天晚些时候更新问题。我will@JerryDing请看上面的更新。非常感谢您的建议。这条路径才是我真正解决问题的方法
/opt/presto server/etc/catalog/${YOUR_catalog\u NAME}.properties
。非常感谢您花时间编写示例脚本。