Apache spark rest API

匿名 (未验证) 提交于 2019-12-03 03:03:02

问题:

I'm using the spark-submit command I have for the log4j properties to invoke a Spark-submit like this:

/opt/spark-1.6.2-bin-hadoop2.6/bin/spark-submit \ --driver-java-options \ "-Dlog4j.configuration=file:/home/test_api/log4j-driver.properties\ --class Test testing.jar 

How do I do --driver-java-options, to submit a job via curl (Apache Spark's Hidden REST API)?

I tried this:

curl -X POST http://host-ip:6066/v1/submissions/create --header "Content-Type:application/json;charset=UTF-8" --data '{ "action" : "CreateSubmissionRequest", "appArgs" : [ "" ], "appResource" : "hdfs://host-ip:9000/test/testing.jar", "clientSparkVersion" : "1.6.2", "environmentVariables" : { "SPARK_ENV_LOADED" : "1" }, "mainClass" : "Test", "spark.driver.extraJavaOptions" : "-Dlog4j.configuration=file:/home/test_api/log4j-driver.properties", "sparkProperties" : { "spark.jars" : "hdfs://host-ip:9000/test/testing.jar", "spark.app.name" : "Test", "spark.eventLog.enabled": "true", "spark.eventLog.dir": "hdfs://host-ip:9000/test/spark-events", "spark.submit.deployMode" : "cluster", "spark.master" : "spark://host-ip:7077" } }' 

Job submitted successfully and response was given, but with one uknownField:

{   "action" : "CreateSubmissionResponse",   "message" : "Driver successfully submitted as driver-20160810210057-0091",   "serverSparkVersion" : "1.6.2",   "submissionId" : "driver-20160810210057-0091",   "success" : true,   "unknownFields" : [ "spark.driver.extraJavaOptions" ] } 

"unknownFields" : [ "spark.driver.extraJavaOptions" ]

I have also tried driverExtraJavaOptions as follows:

curl -X POST http://host-ip:6066/v1/submissions/create --header "Content-Type:application/json;charset=UTF-8" --data '{ "action" : "CreateSubmissionRequest", "appArgs" : [ "" ], "appResource" : "hdfs://host-ip:9000/test/testing.jar", "clientSparkVersion" : "1.6.2", "environmentVariables" : { "SPARK_ENV_LOADED" : "1" }, "mainClass" : "Test", "driverExtraJavaOptions" : "-Dlog4j.configuration=file:/home/test_api/log4j-driver.properties", "sparkProperties" : { "spark.jars" : "hdfs://host-ip:9000/test/testing.jar", "spark.app.name" : "Test", "spark.eventLog.enabled": "true", "spark.eventLog.dir": "hdfs://host-ip:9000/test/spark-events", "spark.submit.deployMode" : "cluster", "spark.master" : "spark://host-ip:7077" } }' 

But got a similar response:

{   "action" : "CreateSubmissionResponse",   "message" : "Driver successfully submitted as driver-20160810211432-0094",   "serverSparkVersion" : "1.6.2",   "submissionId" : "driver-20160810211432-0094",   "success" : true,   "unknownFields" : [ "driverExtraJavaOptions" ] } 

Why is this?
I looked at spark-submit.scala and referenced the Spark REST API

回答1:

It works now putting Dlog4j.configuration=file:/// (/// path for local file) and putting spark.driver.extraJavaOptions inside sparkProperties

curl -X POST http://host-ip:6066/v1/submissions/create --header "Content-Type:application/json;charset=UTF-8" --data '{ "action" : "CreateSubmissionRequest", "appArgs" : [ "" ], "appResource" : "hdfs://host-ip:9000/test/testing.jar", "clientSparkVersion" : "1.6.2", "environmentVariables" : { "SPARK_ENV_LOADED" : "1" }, "mainClass" : "Test", "sparkProperties" : { "spark.jars" : "hdfs://host-ip:9000/test/testing.jar", "spark.driver.extraJavaOptions" : "-Dlog4j.configuration=file:///home/log4j-driver.properties", "spark.app.name" : "Test", "spark.eventLog.enabled": "true", "spark.eventLog.dir": "hdfs://host-ip:9000/test/spark-events", "spark.submit.deployMode" : "client", "spark.master" : "spark://host-ip:7077" } }' 


文章来源: Apache spark rest API
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!