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 浏览