这是一个创建于 3443 天前的主题,其中的信息可能已经有所发展或是发生改变。
现在有一个任务是这样的,采用 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
|
|
1
ivanchou 2015-05-30 16:57:08 +08:00
求关注
|