火花提交时未读取 Dataproc 参数

Posted

技术标签:

【中文标题】火花提交时未读取 Dataproc 参数【英文标题】:Dataproc arguments not being read on spark submit 【发布时间】:2019-10-25 03:46:30 【问题描述】:

我正在使用 dataproc 在 Spark 上提交作业。然而,在 spark-submit 上,非 spark 参数被读取为 spark 参数!

我在运行特定作业时收到以下错误/警告。

Warning: Ignoring non-spark config property: dataproc:dataproc.conscrypt.provider.enable=false

gcloud dataproc jobs submit spark \
--cluster my-cluster \
--region us-east1 \
--properties dataproc:dataproc.conscrypt.provider.enable=false,spark.executor.extraJavaOptions=$SPARK_CONF,spark.executor.memory=$MEMORYG,spark.executor.cores=$total_cores \
--class com.sample.run \
--jars gs://jars/jobs.jar \
-- 1000

我想知道我目前的格式有什么问题。提前致谢。

【问题讨论】:

【参考方案1】:

spark-submit 只是默默地忽略了不以 spark 开头的 conf 选项。 这就是这个属性的原因,它说它被忽略了。

--properties dataproc:dataproc.conscrypt.provider.enable=false

任何你应该作为spark.propertyname 传递的属性

这只是警告。

为什么需要这个属性:

Conscrypt 安全提供程序已从 默认为可选的安全提供程序。此更改是由于 与某些工作负载不兼容。 Conscrypt 提供者将是 随着 Cloud Dataproc 1.2 的发布,重新启用为默认设置 未来。同时,您可以重新启用 Conscrypt 提供程序 通过指定此 Cloud Dataproc 属性创建集群时:

--propertiesdataproc:dataproc.conscrypt.provider.enable=true 这必须在创建集群时指定,因为这是集群属性,而不是 spark 的属性。 (意味着 spark 框架无法理解这一点并被忽略。)

示例用法:

gcloud beta dataproc clusters create my-test
--project my-project
--subnet prod-sub-1
--zone southamerica-east1-a
--region=southamerica-east1
--master-machine-type n1-standard-4
--master-boot-disk-size 40
--num-workers 5
--worker-machine-type n1-standard-4
--worker-boot-disk-size 20
--image-version 1.2
--tags internal,ssh,http-server,https-server
--properties dataproc:dataproc.conscrypt.provider.enable=false
--format=json
--max-idle=10m

然后像这样开始工作......

gcloud dataproc jobs submit pyspark gs://path-to-script/spark_full_job.py
--cluster=my-test
--project=my-project
--region=southamerica-east1
--jars=gs://path-to-driver/mssql-jdbc-6.4.0.jre8.jar
--format=json -- [JOB_ARGS]

【讨论】:

以上是关于火花提交时未读取 Dataproc 参数的主要内容,如果未能解决你的问题,请参考以下文章

html 博客:提交表单时未传递任何表单参数

将作业提交到 dataproc sqoop 时出现问题

向 dataproc 集群提交 pyspark 作业时出错(找不到作业)

如何提交依赖于 google dataproc 集群的 pyspark 作业

火花提交:--jars 不起作用

为啥 dataproc 不能识别参数:spark.submit.deployMode=cluster?