V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
ivanchou
V2EX  ›  问与答

优化 hdfs 对小文件的支持

  •  
  •   ivanchou · 2015-05-30 09:32:32 +08:00 · 2016 次点击
    这是一个创建于 3280 天前的主题,其中的信息可能已经有所发展或是发生改变。
    现在有一个任务是这样的,采用 HDFS+Hbase 的方式优化 HDFS 对小文件的支持,方案大概是:
    小于阀值的文本文件直接存入 Hbase,待到小文件数量足够时,合并成一个文件存入 HDFS,其中最基本的要求是访问文件的 URI 不变。

    那么,问题来了。我的设想是写一个类似后台服务的程序,检测所有在终端输入的 shell 命令,如果有 hdfs dfs -put 等读写文件的命令就将命令截获并经过程序的黑匣处理(小于阀值的文件存 hbase 等操作)。以及当用户在编写 hadoop 程序的时候,代码里访问 hdfs://localhost:9000/filepath 也能够正确返回 hbase 里存储的小文件。技术上有没有实现的可能性呢?要求是用户感知不到的,不知道有没有更简单并且更好的实现方法。

    看过一些关于优化 hdfs 的小文件存储的论文以及专利,感觉在工程方面说的还是不够清楚,有些技术细节不知道通过什么方式实现。
    第 1 条附言  ·  2015-05-30 14:59:46 +08:00
    我又思考了下,找了相关的书籍看了看,了解到所有的 hdfs:// 等 uri 会交由 hdfs 的守护程序,由 hdfs 的守护程序来确定 namenode 以及端口。
    那么只要找到守护程序的代码并修改这个地方的逻辑,把我的黑盒加到这个地方是不是就 ok?求指教
    2 条回复    2015-05-30 19:54:15 +08:00
    ivanchou
        1
    ivanchou  
    OP
       2015-05-30 16:57:08 +08:00
    求关注
    ivanchou
        2
    ivanchou  
    OP
       2015-05-30 19:54:15 +08:00
    @sunjourney 莫非是课友?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2913 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 11:03 · PVG 19:03 · LAX 04:03 · JFK 07:03
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.