共计 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-project
、hadoop-mapreduce- project
、hadoop-hdfs-project
和 hadoop-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 进行近程连贯调试了
正文完