Loading [MathJax]/jax/output/CommonHTML/jax.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >YARN上调度器开发

YARN上调度器开发

作者头像
jiewuyou
发布于 2022-09-23 13:44:48
发布于 2022-09-23 13:44:48
3990
举报
文章被收录于专栏:数据人生数据人生

    和Hadoop1一样,YARN也支持可插入式的调度方式。本文将介绍如何在源码的基础上修改调度策略,并将其应用至Hadoop2上,以修改CapacityScheduler为例,其原理和过程如下。

原理

Hadoop2编译好后的各组件生成的jar包会放在$HADOOP_HOME/share/hadoop目录,Hadoop运行过程中也会调用该文件夹下相应的jar包。因此修改源码后,将相应的组件导出为jar包并覆盖该文件夹的子目录相应的jar包即可。

     如果是调度器的话, 将java包导出并覆盖到HADOOP_HOME/share/hadoop/yarn/hadoop-yarn-server-resourcemanager-2.3.0.jar即可。      

步骤

step1.源码编译,并导入Eclipse

     ubuntu下hadoop-2.2.0的源码编译,参照:http://mmicky.blog.163.com/blog/static/15029015420136224315566/。注意,编译前一定要装好第三方库,编译源码前,还需修改一个bug:修改文件$hadoop-2.3.0-src/hadoop-common-project/hadoop-auth/pom.xml中的

<dependency> <groupId>org.mortbay.jetty</groupId> <artifactId>jetty-util</artifactId> <scope>test</scope> </dependency>

<dependency> <groupId>org.mortbay.jetty</groupId> <artifactId>jetty</artifactId> <scope>test</scope> </dependency>

     编译好后,即可将其导入到eclipse。导入后,会出现很多类或者方法找不到JAR包,为了解决这个问题,需要将第三方JAR包导入工程中。方法如下:右击Project名称,在弹出的快捷菜单中选择“Properties”命令,将会弹出一个界面,然后在该界面中一次选择“Java Build Path”——>“Libraries”——>“Add External JARS...”,将$hadoop-2.3.0-src/hadoop-dist/target/hadoop-2.3.0.tar.gz解压后生成的目录中share/hadoop目录下各个子目录中lib文件夹下的JAR包导入工程。

step2.修改源码

修改包“org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity”即可

step3.覆盖

将/hadoop-2.3.0-src/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java包导出并覆盖到$HADOOP_HOME/share/hadoop/yarn/hadoop-yarn-server-resourcemanager-2.3.0.jar即可。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2014-03-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Maven编译hadoop-2.2.0-src
Apache Maven 3.1.1 (0728685237757ffbf44136acec0402957f723d9a; 2013-09-17 23:22:22+0800) Maven home: /opt/maven Java version: 1.7.0_45, vendor: Oracle Corporation Java home: /usr/java/jdk1.7.0_45/jre Default locale: en_US, platform encoding: UTF-8 OS name: "linux", version: "2.6.18-371.3.1.el5", arch: "amd64", family: "unix"
星哥玩云
2022/07/03
3290
Hadoop源码导入Eclipse及问题解决 原
导入Hadoop相关源码,真是一件不容易的事情,各种错误,各种红,让你体验一下解决万里江山一片红的爽快!
云飞扬
2019/03/13
2K0
Hadoop源码导入Eclipse及问题解决
                                                                            原
64位Ubuntu下重新编译Hadoop2.2.0步骤
Hadoop官方网站中只提供了32位的Hadoop-2.2.0.tar.gz,如果要在64位Ubuntu下部署Hadoop-2.2.0,就需要重新编译源码包,生成64位的部署包。
星哥玩云
2022/07/04
6490
高可用,完全分布式Hadoop集群HDFS和MapReduce安装配置指南
192.168.1.84 hadoop84 #namenode1,resourcemanager
白石
2019/08/23
5300
DistributtedShell的container在所有节点上仅执行一次
博客将主要介绍过程2的实现过程,主要思路是首先获取节点列表,再在申请container时,指定节点。具体过程如下:
jiewuyou
2022/09/29
5200
yarn 学习笔记(对比 kubernetes 调度)
ApplicationMaster(AM),用户提交的每个应用程序都需要包含一个AM, 作用为:
王磊-字节跳动
2020/11/03
4.5K0
《Maven实战》全书总结
把MAVEN_HOME/conf/seettings.xml cp 到 ~/.m2/下,在.m2下的settings.xml中所作的配置就是用户级别的配置,而直接编辑MAVEN_HOME/conf/seettings.xml所作的配置是全局的配置
CoderJed
2018/09/13
2K0
《Maven实战》全书总结
Hadoop-2.2.0在Unbuntu ADM64中需要重新编译Native Lib
通过:cat /etc/issue 查看当前系统版本: Ubuntu 12.04.3
星哥玩云
2022/06/29
4020
hadoop重新编译---安装系列二
yum -y install lzo-devel zlib-devel gcc autoconf automake libtool gcc-c++ openssl-devel ncurses-devel
Dlimeng
2023/06/29
2390
详解Window10下使用IDEA搭建Hadoop开发环境
经过三次重装,查阅无数资料后成功完成hadoop在win10上实现伪分布式集群,以及IDEA开发环境的搭建。一步一步跟着本文操作可以避免无数天坑。
时代疯
2021/07/22
3.6K0
hudi 0.10.0-SNAPSHOT适配hdp 3.1.5编译
hive-jdbc依赖的hadoop-yarn-server-resourcemanager版本为SNAPSHOT,在仓库中都找不到,将其修改为使用项目指定的版本。
从大数据到人工智能
2022/01/19
8060
hudi 0.10.0-SNAPSHOT适配hdp 3.1.5编译
Hadoop基础教程-第5章 YARN:资源调度平台(5.6 YARN的命令)
使用: yarn classpath 打印需要得到Hadoop的jar和所需要的lib包路径
程裕强
2022/05/06
6630
在Linux上编译Hadoop-2.4.0
Hadoop-2.4.0的源码目录下有个BUILDING.txt文件,它介绍了如何在Linux和Windows下编译源代码,本文基本是遵照BUILDING.txt指示来操作的,这里再做一下简单的提炼。
一见
2018/08/10
1.2K0
一个小时学会Maven
在开发中经常需要依赖第三方的包,包与包之间存在依赖关系,版本间还有兼容性问题,有时还里要将旧的包升级或降级,当项目复杂到一定程度时包管理变得非常重要。
张果
2018/10/09
2.7K0
一个小时学会Maven
Hadoop基础教程-第13章 源码编译(13.2 Hadoop2.7.3源码编译)
本文介绍了从Apache Hadoop 2.7.3源代码中编译并打包Hadoop 2.7.3的详细步骤。主要步骤包括:下载并配置Hadoop源代码、编译、解决依赖问题、准备安装包、添加配置文件、生成并上传分发包、部署Hadoop集群。此外,还提供了在本地环境中使用Hadoop客户端命令进行测试的方法。
程裕强
2018/01/02
1.1K0
CentOS 7.4下编译安装Hadoop 2.7.6 及所需文件
操作系统:CentOS Linux release 7.4.1708 (Core)  64位 使用软件如下: jdk1.8.0_112.tar.gz Hadoop-2.7.6-src.tar.gz apache-ant-1.9.11-bin.tar.gz apache-maven-3.5.3-bin.tar.gz findbugs-3.0.1.tar.gz protobuf-2.5.0.tar.gz
星哥玩云
2022/07/14
2830
Maven初探-如何快速入手一个项目
这已是一个工具的时代,而不是一个到处搜集JAR的年代,如果还在为搭建一个项目而到处找依赖,那你就彻底OUT了。下面,跟各位一起重温学习下Maven。 什么是Maven Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。 它提供了三种功能: 1 依赖的管理:仅仅通过jar包的几个属性,就能确定唯一的jar包,在指定的文件pom.xml中,只要写入这些依赖属性,就会自动下载并管理jar包。 2 项目的构建:内置很多的插件与生命周期,支持多种任务,比如校验、编
小柒2012
2018/04/13
7190
Maven初探-如何快速入手一个项目
嵌入式服务器jetty,让你更快开发web
静默虚空
2018/01/05
2.3K0
011.分布式可视化DAG工作流任务调度系统DolphinScheduler-1.3.3安装部署
源码下载地址:https://mirrors.tuna.tsinghua.edu.cn/apache/incubator/dolphinscheduler/ 我这里选择1.3.3版本的apache-dolphinscheduler-incubating-1.3.3-src.zip
CoderJed
2020/12/03
1.5K0
011.分布式可视化DAG工作流任务调度系统DolphinScheduler-1.3.3安装部署
CentOS 64位上编译 Hadoop 2.6.0
Hadoop不提供64位编译好的版本,只能用源码自行编译64位版本。学习一项技术从安装开始,学习hadoop要从编译开始。
星哥玩云
2022/07/04
2590
相关推荐
Maven编译hadoop-2.2.0-src
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档