使用FileContext
对象createSymlinks()
方法在Hadoop 2.0中支持符号链接。
我正在考虑在一个程序中大量使用符号链接,该程序将上个月的所有文件放在Hadoop Archives(HARs)中,但我想知道使用符号链接消耗Namenode内存类似于HDFS中的小文件会破坏目的把这些放在HARs中,并将我的圆形文件带到原始的小文件问题中。
另外,我想使用符号链接的原因是当文件被HAR'ed(并因此移动)时,我不必使用新的文件位置更新HBase。
NameNode中符号链接的内存占用量是多少?
答案 0 :(得分:2)
这是我从cloudera员工的cdh-user邮件列表中收到的答案:
嗨Geovanie,
符号链接的NN内存占用量小于小型内存占用量 文件,因为符号链接纯粹是元数据,没有关联 块。块数通常是您想要避免的真正原因 小文件。我希望你能拥有数百万个符号链接 具有足够大的NN堆。
我会注意到,目前只支持符号链接 FileContext,而大多数应用程序是针对FileSystem编写的 (包括FsShell)。这意味着他们不会表现出来 正确使用符号链接。这可能会在将来的版本中发生变化 我们一直致力于上游的FileSystem符号链接支持。
最好,安德鲁