Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/311.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
Java 为在纱线模式下运行的每个火花作业配置log4j_Java_Scala_Apache Spark_Hadoop_Log4j - Fatal编程技术网

Java 为在纱线模式下运行的每个火花作业配置log4j

Java 为在纱线模式下运行的每个火花作业配置log4j,java,scala,apache-spark,hadoop,log4j,Java,Scala,Apache Spark,Hadoop,Log4j,我在客户机模式下运行spark作业。我在unix脚本中使用spark submit命令运行这些作业。我想为运行的每个spark作业创建日志。 我尝试使用以下命令获取日志: spark-submit --master yarn --deploy-mode client --num-executors 10 --executor-memory 2G --driver-memory 2G --jars $spark_jars --class $spark_class $main_jar |&

我在客户机模式下运行spark作业。我在unix脚本中使用spark submit命令运行这些作业。我想为运行的每个spark作业创建日志。 我尝试使用以下命令获取日志:

spark-submit --master yarn --deploy-mode client --num-executors 10 --executor-memory 2G --driver-memory 2G --jars $spark_jars --class $spark_class  $main_jar |& tee -a ${log_file}
但在这里,如果spark作业失败,它将不会在命令状态检查中被捕获,可能是unix检查|$tee命令的状态,无论spark作业成功还是失败,它都始终是成功的

if [ $? -eq 0 ]; then
    echo "===========SPARK JOB COMPLETED==================" |& tee -a ${log_file}
else
    echo "===========SPARK JOB FAILED=====================" |& tee -a ${log_file}
fi

我尝试使用log4j,但没有成功。 我希望将每个spark作业日志文件存储在本地unix服务器上。
请帮忙

只要您提交spark申请。它生成一个
应用程序\u id
。由于此应用程序在分布式集群中运行,因此无法通过重定向获取spark应用程序的日志

然而,当您执行以下操作时,它只是将控制台日志重定向到一个文件中

spark-submit --master yarn --deploy-mode client --num-executors 10 --executor-memory 2G --driver-memory 2G --jars $spark_jars --class $spark_class  $main_jar > ${log_file}
例如,要获取提交给纱线集群的spark应用程序的日志记录,您需要使用纱线日志命令:


纱线日志-应用程序ID[选项]

一旦您提交spark应用程序。它生成一个
应用程序\u id
。由于此应用程序在分布式集群中运行,因此无法通过重定向获取spark应用程序的日志

然而,当您执行以下操作时,它只是将控制台日志重定向到一个文件中

spark-submit --master yarn --deploy-mode client --num-executors 10 --executor-memory 2G --driver-memory 2G --jars $spark_jars --class $spark_class  $main_jar > ${log_file}
例如,要获取提交给纱线集群的spark应用程序的日志记录,您需要使用纱线日志命令:


纱线日志-applicationId[OPTIONS]

我使用spark submit从unix运行了该作业。我遇到了以下问题:线程“main”org.apache.spark.sql.AnalysisException中的异常:无法推断CSV的模式。它必须手动指定。;但是我检查了Thread,但无法获取Thread上的此异常,请告诉我如何查看Thread上的此类异常。您可以使用相同的Thread命令进行grep…
Thread logs-applicationId | grep ERROR
我使用spark submit在unix上运行此作业。我遇到了以下问题:线程“main”org.apache.spark.sql.AnalysisException中的异常:无法推断CSV的模式。它必须手动指定。;但是,我检查了纱线,但无法获取纱线上的此异常,请告诉我如何查看纱线上的此类异常。您可以使用同一纱线命令进行grep…
纱线日志-applicationId | grep ERROR