- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
spark 调试及小案例
调试Spark-shell 程序调试交互式本身可以认为是一种调试方式;或根据Sparkshell脚本,调试对应的入口Object。IDEA 程序调试程序调试分本地调试和远程调试两种:本地调试时,直接在IDEA里调试对应的类即可(根据启动该类的脚本进行模拟,模拟内容包括启动脚本中的环境变量设置等);远程调试时,需要设置对应的Java启动选项OPTS(即JVM调试参数的设置),打开调试对象(要启动的类)对应的远程调试端口,然后在IDEA中,配置远程调试的设置,在设置中,指定远程对应的host和port,进行监听,设置完成后,启动该调试对象(根据调试对象启动脚本中对应的类,并尽可能模拟启动脚本,包括脚本中的环境变量设置等)的调试即可。如何打开远程调试,即OPTS如何设置,参考远程调试章节。说明:本文档里只写了一种方式,就是脚本启动时使用到的OPTS环境变量,实际上,可以直接在脚本的java执行代码前面,加上调试参数,这样的话,你启动时,不需要设置OPTS,而只需要在某个节点上修改启动脚本,在start-all.sh的时候,就不会影响全部节点,而只会影响修改了脚本的节点。如修改了Worker的启动脚本时,只有该节点上的Worker是打开了远程调试的。调试环境搭建IDEA调试环境需构建在Spark 安装包部署 + Spark源码的基础上。即,在调试机器上进行带Spark源码的Spark 安装包部署。可以同时作为Spark客户端和Spark 源码环境。远程调试JVM调试参数配置远程调试时,结合JDWP(Java Debug Wire Protocol)进行,在JVM进程启动前,添加相应的JAVA_OPTS,设置远程调试参数,比如:-Xdebug -server -Xrunjdwp:transport=dt_socket,address=7777,server=y,suspend=y启动JVM进程(通常就是执行对应的启动脚本)后会停留在 Listening for transport dt_socket at address: 7777 ,IDE连接后才会继续。对于Spark 的守护进程的调试参数配置可以在SPARK_DAEMON_JAVA_OPTS环境变量中统一添加远程调试参数,此时要确保要调试的守护进程不在同一台机器上。可以在具体的守护进程特定的XXX_OPTS环境变量中设置。此时,如果调试的守护进程在同一台机器上,可以通过设置不同的调试端口进行区分。其中环境变量参考spark-env.sh文件,有以下几种:SPARK_MASTER_OPTSSPARK_WORKER_OPTSSPARK_HISTORY_OPTSIDE调试参数配置在IDE中,针对进程对应的类,设置调试参数。Eclipse:Debug Configuration...Remote Java ApplicationNew下创建一个远程调试的项目并设置相关参数;对应界面如下:Host为远程服务器的ip, Port为在启动脚本中设置的address的值。如果选中“Allow termination of?remote VM”,那么在本地结束调试,就会结束远程运行的java程序。IDEA:Driver Program调试注意:提交应用时,需要使用提交脚本SparkSubmit.sh,来封装不同集群管理+部署模式的应用程序提交,因此,在调试时,应该以该脚本对应的SparkSubmit Object作为入口点,进行应用程序的提交。提交应用程序运行、调试入口点为SparkSubmit Object,模拟提交脚本SparkSubmit,提交应用程序的示例:设置SparkSubmit类的运行、调试配置,如Windows下:--class?org.apache.spark.examples.SparkPi?--master?local??E: \\bd\\spark-1.1.0-hadoop-2.2.0.bin\\lib\\spark-examples-1.1.0-hadoop2.2.0.jar?10运行、调试 SparkSubmit Object待补充:如何模拟SparkSubmit提交脚本中的执行代码,如环境变量设置等。根据部署模式(deploy mode)进行调试Client部署模式的调试当使用Client部署模式进行提交时,Driver在提交点运行,因此不需要使用远程调试的方式。即从入口点出发,使用普通的本地调试方式即可。Cluster部署模式的远程调试Cluster与Client部署模式的主要差异在于:Cluster 部署模式下,Driver 的运行点是在集群的Worker 上,对应DriverWrapper。Cluster部署模式下,Master会对应增加对 Driver的调度。如
您可能关注的文档
最近下载
- 自行车里程速度计设计论文(本科)毕业设计论文.doc VIP
- GBT3049—2006工业用化工产品铁含量测定的通用方法1,10—菲啰啉分光光度法.pdf
- 新版《建筑设计防火规范》(GB50016-2014年)规范编制组宣讲课件.ppt VIP
- 2024年洛阳文化旅游职业学院单招职业技能测试题库及答案(全优).docx VIP
- 环保管家服务方案.docx VIP
- 2024年洛阳文化旅游职业学院单招职业技能测试题库及答案(必刷).docx VIP
- 大数据平台数据治理规划方案.docx
- 山东文旅云智能科技有限公司笔试考啥.pdf
- 航空移动卫星通信(AMSS).ppt
- 17J008 挡土墙(重力式、衡重式、悬臂.docx VIP
文档评论(0)