火花提交时未读取 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 属性创建集群时:
--properties
dataproc: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 参数的主要内容,如果未能解决你的问题,请参考以下文章
向 dataproc 集群提交 pyspark 作业时出错(找不到作业)