如何在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

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

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

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

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

(可左右滑动)

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

3.Scala工程配置及验证

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

2.创建完成后,打开Workbench

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

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

(可左右滑动)

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

4.总结

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

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

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

原文发布于微信公众号 - Hadoop实操(gh_c4c535955d0f)

原文发表时间:2018-07-19

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Hadoop实操

如何在不重启Yarn服务的情况下启用DEBUG日志记录

为了解决Yarn问题,需要为不同的服务启用调试。但是,在生产集群中,可能无法立即重启Yarn服务。本篇文章Fayson主要介绍如何在不重启Yarn服务的情况下为...

1485
来自专栏蓝天

使用process_monitor.sh监控hadoop进程的crontab配置

可以从下列链接找到process_monitor.sh: https://github.com/eyjian/mooon/blob/master/commo...

1152
来自专栏行者悟空

Spark的容错机制

2454
来自专栏北京马哥教育

CentOS 6.5上搭建Hadoop环境详解

本文详细记录在开发服务器CentOS 6.5上搭建Hadoop的详细过程。 ssh连接免密码配置 由于配置过程中需要频繁的进行ssh连接到开发服务器执行命令以及...

3325
来自专栏AILearning

Apache Zeppelin 中 HDFS文件系统 解释器

概述 Hadoop文件系统是hadoop项目的分布式,容错文件系统的一部分,通常用作Hadoop MapReduce和Apache Spark或Allux...

2505
来自专栏Hadoop实操

如何将HDFS文件系统挂载到Linux本地文件系统

Hadoop支持通过NFSv3挂载HDFS文件系统到本地目录,允许用户像访问本地文件系统一样访问HDFS,对于普通用户来说大大的简化了HDFS的使用。该功能通过...

1.3K7
来自专栏Hadoop实操

如何修改CDH集群的IP地址

在CDH集群中使用多个IP地址来管理集群,独立的集群内网和管理网段,管理网段与外部应用网络通但不与内网通。在部署集群是由于错将管理网段作为集群的内网,所以这里需...

4074
来自专栏LhWorld哥陪你聊算法

【CDH篇】---CDH从初识到搭建到应用

CDH(Cloudera's Distribution, including Apache Hadoop)是Hadoop众多分支中的一种,由Cloudera维护...

3882
来自专栏pangguoming

CentOS 7安装Hadoop 3.0.0

最近在学习大数据,需要安装Hadoop,自己弄了好久,最后终于弄好了。网上也有很多文章关于安装Hadoop的,但总会遇到一些问题,所以把在CentOS 7安装H...

41010
来自专栏Hadoop实操

如何启用Impala的动态资源池

在Cloudera Manager中动态资源池分为Yarn的动态资源池和Impala的动态资源池两种。Fayson在前面有多篇文章介绍了Yarn动态资源池的使用...

4474

扫码关注云+社区