夜雨聆风学习资料网

ARTICLE · 1113436

Hadoop 源码学习手册 11 · 云存储连接器|

Hadoop 源码学习手册 11 · 云存储连接器|

刚啃完 Hadoop 云存储连接器的源码,这东西说白了就是个同声传译箱。Hadoop 只懂 HDFS 方言,对象存储只认 HTTP,连接器就坐在中间两头翻译。

不管接火山引擎还是华为云,底层都是四层架构。最上面一层对接 Hadoop,最底下调用厂商 SDK,中间两层做翻译和拿凭证。加一个新云只要几百行代码,换云基本是照抄。

写大文件时,数据先攒在临时缓冲里。凑够 8MB 就丢给线程池异步上传,最后再让云端合并。要是中途报错没清理干净,云端就会留下一堆孤儿分片白收你钱。

读文件全靠 HTTP Range 请求。各家都做了预读优化,最绝的是 lazy seek:遇到位置跳转不急着开新连接,只改个位置变量,等真正读数据时才按需建立。

不过有个坑得盯紧:对象存储没有真正的 block,返回的节点列表是空的。这意味着跑 MapReduce 根本没有数据本地性,所有任务都得跨网络从云端拉数据。加上 rename 不是原子操作,经典任务的提交机制在对象存储上根本不安全。

原文Hadoop 源码学习手册 11 · 云存储连接器|口袋通识馆
山西,5分钟前,

相关学习资料