本文将介绍如何使用 idea 搭建 Hadoop 源码阅读环境 。(默认已安装好 Java、Maven 环境)
一、搭建源码阅读环境一)idea 导入 hadoop 工程从 github 上拉取代码 。https://github.com/apache/hadoop可以选择对应的分支
# 如拉取 2.8.5 分支git clone -b branch-2.8.5 git@github.com: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 进行远程连接调试了推荐阅读
- 奇迹暖暖香氛之梦怎么搭配
- 小米大师65寸oled烧屏吗_小米大师65寸oled使用评测
- 同一个wifi怎么联机玩红警(win10红警2局域网联机)
- DNF武器怎么强打红字(dnf关羽武器打红字)
- .NET周报【11月第1期 2022-11-07】
- 【k8s连载系列】k8s介绍
- 【炫丽】从0开始做一个WPF+Blazor对话小程序
- 暗区突围容器箱怎么获取
- 骁龙888和骁龙870性能对比-骁龙888和骁龙870哪个好
- 真我手表t1测评_真我手表t1测评表现