Google cloud platform 在dataproc上提交Presto作业
我正试图在使用postgresql连接器运行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
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
。非常感谢您花时间编写示例脚本。