ubuntu 环境下调试mysql源码_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

06af4118970b441595327ba21e21832f.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

41e5ba91c47f58b72d514d1a4f2f1837.png

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

4006e7acf5f42fd5dd87defd58873b7e.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中。

7f9e6ed74ee739557a176098db168086.png

运行JavaLogQuery示例代码:

8ab3ba5a2a4fd434edc1748db2afdf9d.png

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

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

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

dc264e1df97d1405862828ed478d1b14.png

6d61813d4701b73594f80ab10e950e98.png

yarn

6d61813d4701b73594f80ab10e950e98.png

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

87363a78861bfcd85a972fcb583eaa4c.png

运行

8249bf78f5684050f0406546f3fa9fb3.png

查看yarn的web界面

753b3f1880f860895f5ea95ba4d27509.png

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

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值