关于hadoop:深入浅出-Yarn-架构与实现12-搭建-Hadoop-源码阅读环境

32次阅读

共计 1579 个字符,预计需要花费 4 分钟才能阅读完成。

本文将介绍如何应用 idea 搭建 Hadoop 源码浏览环境。(默认已装置好 Java、Maven 环境)

一、搭建源码浏览环境

一)idea 导入 hadoop 工程

从 github 上拉取代码。
https://github.com/apache/hadoop
能够抉择对应的分支

# 如拉取 2.8.5 分支
git clone -b branch-2.8.5 [email protected]:apache/hadoop.git

在 idea 中点击 File - Open 抉择对应的文件夹目录,进行导入。之后会进入漫长的程序加载过程(看机器配置和网速,可能几十分钟到几小时不等)。

二)配置正文环境

为了更不便的在浏览源码过程中记笔记,可在源码根底上创立新的分支用于记录。
1、创立新分支

# 如在 branch-2.8.5 根底上创立
git checkout -b branch-2.8.5-comment

2、在 github 上创立个新的我的项目
3、将本地分支 branch-2.8.5-comment 推送到远端。之后能够在本人 github 上看到这个我的项目分支了。

# 删除原来的远端我的项目
git remote remove origin
# 增加新的我的项目地址
git remote add origin < 你的我的项目地址 >
# 推送新的分支
git push -u origin branch-2.8.5-comment

二、源码组织架构

一)根目录构造

导入工程后,能够看到如下图的目录构造。其中,比拟重要的目录有:hadoop-common-projecthadoop-mapreduce- projecthadoop-hdfs-projecthadoop-yarn-project 等。

  • hadoop-common-project:Hadoop 根底库所在目录,该目录中蕴含了其余所有模块可能会用到的根底库,包含 RPC、Metrics、Counter 等;
  • hadoop-mapreduce-project:MapReduce 框架的实现;
  • hadoop-hdfs-project:Hadoop 分布式文件系统实现;
  • hadoop-yarn-project:Hadoop 资源管理零碎 YARN 实现,是咱们须要重点关注的局部。

二)yarn 目录构造

Hadoop YARN 次要关注五个局部:API、Common、Applications、Client 和 Server。

  • YARN API:给出了 YARN 外部波及 RPC 协定的 Java 申明和 Protocol Buffers 定义;
  • YARN Common:蕴含了 YARN 底层库实现,包含事件库、服务库、状态机库、Web 界面库等;
  • YARN Applications:蕴含了两个 Application 编程实例,别离是 distributedshell 和 Unmanaged AM;
  • YARN Client:该局部封装了几个与 YARN RPC 协定交互相干的库,不便用户开发应用程序;
  • YARN Server:该局部给出了 YARN 的外围实现,包含 ResourceManager、NodeManager、资源管理器等外围组件的实现。

三、近程调试

配置与近程部署的 hadoop 服务连贯。
1、idea 中抉择 Run -> Edit Configurations

# 在 yarn-env.sh 中增加
export YARN_NODEMANAGER_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5006"
export YARN_RESOURCEMANAGER_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005"

# 如果想要启动时先连贯 debug,则设置 suspend=y

4、能够用 idea 进行近程连贯调试了

正文完
 0