夜雨聆风学习资料网

ARTICLE · 1097792

Hadoop 源码学习手册 07 · 工具集:distcp

Hadoop 源码学习手册 07 · 工具集:distcp

Hadoop 源码学习手册 07 · 工具集:distcp

刚啃完 Hadoop 工具集源码,发现它们根本不是什么新框架,全是对老工具的拼装。

distcp 就是个跨集群搬运工。它本质是个只有 Map 的 MR 作业,没 Reduce 阶段。干活时先遍历源路径生成文件列表,再按大小均匀分片,让每个 Map 去拷一块。要是开了 snapshot-diff,还能只同步变化的部分。

streaming 更绝,直接把外部进程当 Mapper 和 Reducer。框架只负责把数据塞进 stdin,再从 stdout 拿结果。只要语言能读写标准流,连 Hadoop API 都不用懂就能跑。

容量规划靠 rumen、sls、gridmix 三件套打配合。rumen 从历史日志里扒出作业 trace,gridmix 拿它在真实集群压测,sls 则连机器都不用,纯模拟调度器看能不能扛住。

最扎心的是 HAR 归档。小文件太多会撑爆 NameNode,HAR 就把一堆小文件打包成一个大包。对 NameNode 来说,它只是三个文件,内部索引自己管。代价是读文件得多查两级索引,慢点,但省内存。

原文Hadoop 源码学习手册 07 · 工具集:distcp / streaming / 容量规划|口袋通识馆
山西,2小时前,

相关学习资料