前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何在CDSW上调试失败或卡住的Spark应用

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

作者头像
Fayson
发布2018-08-03 14:41:31
1.2K0
发布2018-08-03 14:41:31
举报
文章被收录于专栏:Hadoop实操

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

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文件中增加如下内容:

代码语言:javascript
复制
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文件,文件内容如下:

代码语言:javascript
复制
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设置为相应的文件位置。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-07-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Hadoop实操 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
专用宿主机
专用宿主机(CVM Dedicated Host,CDH)提供用户独享的物理服务器资源,满足您资源独享、资源物理隔离、安全、合规需求。专用宿主机搭载了腾讯云虚拟化系统,购买之后,您可在其上灵活创建、管理多个自定义规格的云服务器实例,自主规划物理资源的使用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档