DistCp源码解析
说明 DistCp(分布式拷贝)是用于大规模集群内部和集群之间拷贝的工具。 它使用Map/Reduce实现文件分发,错误处理和恢复,以及报告生成。 它把文件和目录的列表作为map任务的输入,每个任务会完成源列表中部分文件的拷贝。 由于使用了Map/Reduce方法,这个工具在语义和执行上都会有特殊的地方。 这篇文档会为常用DistCp操作提供指南并阐述它的工作模型。 源码详解 作业启动 作业的启动主要包含初始化和作业提交,在初始化阶段主要是list左右需要拷 ......
mapreduce
hadoop
distcp
|
2025-05-25
0 评论
839 浏览
leaseManager详解
简介 HDFS作为一个分布式文件系统,只允许一个客户端同时对一个文件进行修改操作。租约就是为了实现独占的写操作的机制。 HDFS租约的主要实现类是LeaseManager。 Lease 的使用场景如下: 客户端在申请创建新的文件或者向文件追加都会先向NameNode申请获得inode或者最后一个块的信息 在NameNode中FSNamesystem会调用recoverLeaseInternal检查文件是否是UnderConstruction,是Under ......
hadoop
hdfs
|
2025-05-25
0 评论
552 浏览
webhdfs详解
简介 hdfs提供了一种除了通过rpc的方式进行文件操作的方式之外,还提供了http的方式对文件进行操作的方式:webhdfs。支持HDFS 的完整FileSystem / FileContext接口。 其中Router和NameNode都支持了webhdfs的功能,具体实现有差别。 使用 文件系统URI与HTTP URL WebHDFS的文件系统方案为“ webhdfs:// ”。WebHDFS文件系统URI具有以下格式。 webhdfs://<主机 ......
hadoop
hdfs
|
2025-05-16
0 评论
840 浏览
【Hadoop仿真】如何在仿真NodeManager中实现心跳
Hadoop自带的hadoop-sls只能用于压测调度器,可在实际中影响ResourceManager性能的因素比较多,不能只看调度器。当前项目可构造海量的Fake NM节点,用于模拟线上RM的巨大压力场景,进行优化。首先需要对NM进行仿真。
原创
hadoop
Yarn
ResourceManager
|
2025-04-13
0 评论
522 浏览
Hadoop Yarn的ResourceManager压测指南
Hadoop自带的hadoop-sls只能用于压测调度器,可在实际中影响ResourceManager性能的因素比较多,不能只看调度器。 当前项目可构造海量的Fake NM节点,用于模拟线上RM的巨大压力场景,进行优化。 详细参见:https://github.com/zeekling/yarnRmTester
hadoop
Yarn
ResourceManager
原创
|
2025-04-13
0 评论
10 浏览
Mapredcue作业启动
Mapreduce作业启动源码解析,从源码开始理解Mapreduce。
hadoop
mapreduce
|
2025-03-29
0 评论
496 浏览
linux idea 启动慢、运行慢
解决Idea启动慢,运行慢的问题。
linux
idea
|
2023-07-15
1 评论
7,087 浏览
Gitea 自建代码仓流量大坑
背景 前端时间租的腾讯云服务器是按照流量计费的,最近一段时间流量走的老快了,并且发现默认1G的带宽老是卡。 原因 通过分析nginx的日志发现有大量的爬虫在大批量的访问代码仓。导致占用了大量带宽。 解决 nginx中过滤爬虫 在nginx中配置下面信息,过滤掉大量爬虫的请求。 if ($http_user_agent ~ "(meta-externalagent|Amazonbot|ClaudeBot|Baiduspider|SemrushBot|bing ......
gitea
|
2025-03-09
0 评论
978 浏览
container-executor 详解
简介 container-executor 是NodeManager管理Container很重要的一个工具,是深入学习Yarn作业调度不可缺少的一个知识点,值得深入学习。本文只描述比较基础的功能点(目前不会包含Docker相关)。 核心功能点 checksetup 主要是检查container-executor的配置是否ok,没有其他功能。核心代码如下: case CHECK_SETUP: //we already did this exit_code ......
hadoop
|
2025-03-02
0 评论
347 浏览
Idea Hadoop 源码YarnServiceProtos无法补全问题
问题现象 使用IDEA打开Hadoop源码之后,发现YarnServiceProtos部分代码无法补全,已经安装了protobuf相关的插件。 原因以及解决方法 再打开YarnServiceProtos文件的时候会提示类似文件过大无法打开的文字,所以可能是这个文件过大导致Idea没有加载,所以代码无法补全。 在idea.properties中增加下面配置之后重启Idea发现可以补全了。 idea.max.intellisense.filesize=6000 ......
idea
|
2024-12-01
0 评论
463 浏览
Capacity调度器源码解析
简介 源码解析 Capacity 调度器的核心类是CapacityScheduler。在初始化CapacityScheduler的时候,在构造函数initAsyncSchedulingProperties,里面会初始化调度器相关。 核心类是AsyncSchedulingConfiguration,主要内容总结为:初始化异步调度器线程AsyncScheduleThread,可以初始化多个,调度支持多线程。 AsyncScheduleThread继承自Thre ......
hadoop
|
2024-11-04
0 评论
355 浏览
router启动详解
简介 为了解决HDFS的水平扩展性问题,社区从Apache Hadoop 0.23.0版本开始引入了HDFS federation。HDFS Federation是指 HDFS集群可同时存在多个NameNode/Namespace,每个Namespace之间是互相独立的; 单独的一个Namespace里面包含多个 NameNode,其中一个是主,剩余的是备,这个和上面我们介绍的单Namespace里面的架构是一样的。这些Namespace共同管理整个集群的数 ......
hadoop
|
2024-10-10
0 评论
549 浏览
hadoop 主备倒换控制器:ZKFailoverController详解
简介 HDFS的NameNode、Yarn的ResourceManager都是依靠ZK实现主备倒换的。核心的类为:ZKFailoverController.java, 选举的核心类为ActiveStandbyElector.java 主备选举 主备选举的核心类是ActiveStandbyElector。在初始化的时候需要创建zk连接并且尝试在zk上面创建文件。在创建连接或者创建文件的时候都会有回调事件。 回调处理的函数主要包含: 创建node节点回调 入口函 ......
hadoop
|
2024-09-22
0 评论
617 浏览
Hadoop 认证模块详解
客户端认证 客户端的入口函数为 KerberosAuthenticator.authenticate函数 连接HTTP服务端 HttpURLConnection conn = token.openConnection(url, connConfigurator); conn.setRequestMethod(AUTH_HTTP_METHOD); conn.connect(); SPNEGO认证 对于普通的HTTP的kerberos认证(SPNEGO),需要 ......
hadoop
|
2024-09-01
0 评论
894 浏览
ContainerManager详解
简介 ContainerManager主要负责NM中管理所有Container生命周期,其主要包含启动Container、恢复Container、停止Container等功能。 主要功能由ContainerManagerImpl类实现,具体代码可以参考当前类。 初始化 初始化主要分为两部分: ContainerManagerImpl实例的构造函数和serviceInit函数。 构造函数 当前函数为构造函数,主要初始化必须要的一些变量等。 dispatche ......
hadoop
yarn
|
2024-08-01
1 评论
834 浏览