eclipse查看源码_windows10环境下搭建spark on yarn源码调试环境

    spark 3.0.0版本刚出炉,官方称相比2.4版本,性能提升了2倍。考虑到生产环境下 spark on yarn的模式居多,本文在Windows10环境下,搭建spark on yarn的源码阅读调试环境。使得最新功能能够以最快的速度反哺生产环境,进一步提升线上性能。spark3.0的最新功能可以参考官方博客内容:https://databricks.com/blog/2020/06/18/introducing-apache-spark-3-0-now-available-in-databricks-runtime-7-0.html

依赖工具

1.jdk 1.8

2.scala 2.12

3.maven 3.6

4.IDEA

5.winutils.exe (对应hadoop版本2.9.2)

6.hadoop (2.9.2)

7.spark3.0

步骤

    winutils.exe是在Windows系统上需要的hadoop调试环境工具,里面包含一些在Windows系统下调试hadoop、spark所需要的基本的工具类,另外在使用eclipse调试hadoop程序时,也需要winutils.exe 。下载地址:https://github.com/steveloughran/winutils 下载后的winutils.exe放到HADOOP_HOME/bin目录下。

设置hadoop环境变量

在系统变量path里增加%HADOOP_HOME%\bin

d07402f6fe9e0d6d5e82d26d87781f51.png

下载spark源码

在spark官方网站下载spark源码:https://spark.apache.org/

下载后进行解压,进入源码根路径,因为想要调试在yarn下和kubernetes下的资源调度流程,设置yarn 和kubernetes选项:

./build/mvn -Pyarn -Dhadoop.version=2.9.2 -Phive -Phive-thriftserver -Pkubernetes -DskipTests clean package

9344667eb2d79711233752978c9f916e.png

耐心等待半个小时左右。编译结果如下

e97732ea287cdf9bb8d152ce020fecf1.png

将编译后的代码导入IDEA

用git bash以管理员身份运行build/spark-build-info 用以生成spark-version-info.properties文件 build/spark-build-info D:\opensource\spark-3.0.0\core\target\extra-resources\ 3.0.0 将生成的spark-version-info.properties文件复制到spark-core_2.12-3.0.0.jar的根目录下。(复制之前先检查根目录下是否存在spark-version-info.properties,不存在再复制)在conf目录下复制log4j.properties.template,重命名为log4j.properties将spark\assembly\target\scala-2.12\jars目录下的所有jar包添加到classpath中。

cc58fb0cf876f20cefca6bcfe5a8da1e.png

运行JavaLogQuery示例代码:

9f2a920533ac5a1774022e5917b2ec45.png

本地运行的方式调试成功。接下来配置调试spark on yarn 的方式。

首先启动hadoop单点服务,启动namenode,datanode,yarn.

首先通过start-dfs.cmd和start-yarn.cmd启动hadoop环境.

022655a4d29fbfe2ccfe0d4950d82c9f.png

efe596da9b87a65227f20108f17231da.png

yarn

efe596da9b87a65227f20108f17231da.png

我们仍然以JavaLogQuery为例,设置相关的启动参数。

7d85bf8e1c2e76c22d00c275618cd04e.png

运行

7d7f48ef7fe822b03d734c69aa161f57.png

查看yarn的web界面

066e5076e78d666de2532810f9debe9e.png

之后我们可以从SparkSubmit.scala为入口,设置断点进行debug跟读了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值