如何在CDSW上调试失败或卡住的Spark应用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在CDSW上调试失败或卡住的Spark应用相关的知识,希望对你有一定的参考价值。

温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。


Fayson的github:

​https://github.com/fayson/cdhproject​


提示:代码块部分可以左右滑动查看噢


1.文档编写目的



默认情况下,CDSW会话中的Spark应用程序只显示ERROR级别的日志,当作业出现异常或卡住时无法查看作业运行详细日志及异常堆栈信息,不能根据日志的上下文正确的定位问题。在Cloudera Data Science Workbench中允许基于每个Project配置较低级别的Spark运行日志记录,Spark2使用的是Apache Log4j,可以通过log4j.properties文件配置日志输出级别。本篇文章Fayson主要介绍如何在CDSW上调试失败或卡住的Spark作业。


  • 内容概述

1.PySpark工程配置及验证

2.Scala工程配置及验证

3.总结


  • 测试环境

1.CM和CDH版本为5.13.1

2.Redhat7.2

3.Spark2.2.0

4.CDSW1.2.2


  • 前置条件

1.CDH集群正常运行

2.CDSW集群已部署则正常运行


2.PySpark工程配置及验证



1.登录CDSW,创建一个测试的工程pyspark_gridsearch


如何在CDSW上调试失败或卡住的Spark应用_properties文件


如何在CDSW上调试失败或卡住的Spark应用_工程配置_02


2.打开“Workbench”,暂不用启动Session


如何在CDSW上调试失败或卡住的Spark应用_spark_03


3.在pyspark_gridserach工程的根目录下创建log4j.properties文件


如何在CDSW上调试失败或卡住的Spark应用_spark_04


在log4j.properties文件中增加如下内容:


shell.log.level=INFO
log4j.logger.org.apache.spark.api.python.PythonGatewayServer=INFO

(可左右滑动)


如何在CDSW上调试失败或卡住的Spark应用_spark_05


4.启动Session进行测试,运行PySpark作业查看日志输出


如何在CDSW上调试失败或卡住的Spark应用_properties文件_06


3.Scala工程配置及验证



1.登录CDSW创建一个Scala工程


如何在CDSW上调试失败或卡住的Spark应用_工程配置_07


2.创建完成后,打开Workbench


如何在CDSW上调试失败或卡住的Spark应用_properties文件_08


3.在sparkapp_log4j工程的根目录下创建一个log4j.properties文件,文件内容如下:


shell.log.level=INFO
log4j.logger.org.apache.spark.repl.Main=INFO

(可左右滑动)


如何在CDSW上调试失败或卡住的Spark应用_spark_09


4.启动Session测试日志文件是否生效


如何在CDSW上调试失败或卡住的Spark应用_spark_10


4.总结



1.在CDSW中运行Spark作业默认只输出ERROR级别的异常日志,对于开发Debug定位问题时缺少日志上下文。


2.Spark2使用的是Apache Log4j,我们可以通过在Project根目录添加log4j.properties配置文件,来定义Spark作业日志输出级别。


3.如果你的log4j.properties配置文件未放在Project的根目录下,则可以通过将环境变量LOG4J_CONFIG设置为相应的文件位置。



提示:代码块部分可以左右滑动查看噢


为天地立心,为生民立命,为往圣继绝学,为万世开太平。

温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。



推荐关注Hadoop实操,第一时间,分享更多Hadoop干货,欢迎转发和分享。

如何在CDSW上调试失败或卡住的Spark应用_工程配置_11

原创文章,欢迎转载,转载请注明:转载自微信公众号Hadoop实操


以上是关于如何在CDSW上调试失败或卡住的Spark应用的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Spark 工作人员的地图函数中调试错误?

【2019-01-04】Spark 程序在driver卡住

如何在 EMR 上使用 Spark 3 为 Scala 对象解决“加载类失败”

React-Native:除非单击屏幕,否则调试时应用程序卡住

提交作业后如何调试Pig被卡住

在没有调试器的情况下运行时,ProgressBar 会“卡住”