Spark的Master,Worker调试

start-all.sh -> start-master.sh  -> start-slaves.sh

//Master启动的脚本
start-master.sh  -> spark-daemon.sh start org.apache.spark.deploy.master.Master

//Worer的启动过程
salves.sh   ->  通过读取slaves 通过ssh的方式启动远端的worker
spark-daemon.sh start org.apache.spark.deploy.worker.Worker

Master和Worker是两个Java进程  他们启动的时候会加载一些参数 spark-env.sh这里边的环境变量

如何是使用远程debug

在Master端的spark-env.sh文件中添加如下参数
export SPARK_MASTER_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=10000"

start-master.sh
执行完这个脚本
jps
4828 -- main class information unavailable
4860 Jps

通过一个IDE  建立一个remote application
172.16.0.11 10000
在本地的代码打断点
debug按钮开始调试


---------------------------------------------------------------------------------------------------------

在Worker所在的配置文件中添加一个环境变量
export SPARK_WORKER_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=10001"
start-slave.sh spark://node-1.itcast.cn:7077


执行jps命令
2891 -- main class information unavailable
2923 Jps


用一个IDE工具连接 建立一个remote application
172.16.0.12 10001
在本地的代码打断点
debug按钮开始调试


---------------------------------------------------------------------------------------------------------
Debug app (--driver-java-options)


bin/spark-submit --class cn.itcast.spark.WC --master spark://node-1.itcast.cn:7077 --driver-java-options "-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=10002" /root/bigdata-2.0.jar hdfs://node-1.itcast.cn:9000/words.txt hdfs://node-1.itcast.cn:9000/wordsout


任务提交流程
spark-submit --class cn.itcast.spark.WordCount


bin/spark-clas -> org.apache.spark.deploy.SparkSubmit 调用这个类的main方法


doRunMain方法中传进来一个自定义spark应用程序的main方法class cn.itcast.spark.WordCount


通过反射拿到类的实例的引用mainClass = Utils.classForName(childMainClass)


在通过反射调用class cn.itcast.spark.WordCount的main方法




用一个IDE工具连接 建立一个remote application
172.16.0.13 10002
在本地的代码打断点

debug按钮开始调试



在IDEA中,点击执行的按钮左侧下拉列表, 选择  edit  configuration, 点击“+”号, 选择remote, 添加 Name, Host, Port, 之后进入main 方法点击debug进行调试。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值