0

FileContextHadoop 2.0 使用对象createSymlinks()方法支持符号链接。

我正在考虑在一个程序中大量使用符号链接,该程序将上个月的所有文件都放在 Hadoop 档案 (HAR) 中,但我想知道使用符号链接是否会消耗 Namenode 内存,类似于 HDFS 中的小文件,这会破坏放置这些文件的目的在 HAR 中,让我轮流解决小文件的原始问题。

此外,我想使用符号链接的原因是,当文件被 HAR'ed(并因此移动)时,我不必使用新文件位置更新 HBase。

NameNode 中符号链接的内存占用是多少?

4

1 回答 1

2

这是我从 cloudera 员工的 cdh-user 邮件列表中收到的答案:

嗨乔瓦尼,

符号链接的 NN 内存占用小于小文件的内存占用,因为符号链接是纯粹的元数据并且没有关联的块。块数通常是您要避免使用小文件的真正原因。我希望您能够拥有数百万个具有足够大 NN 堆的符号链接。

我会注意到,目前仅在 FileContext 中支持符号链接,而大多数应用程序都是针对 FileSystem(包括 FsShell)编写的。这意味着它们无法正确使用符号链接。这可能会在未来的版本中改变,因为我们一直致力于上游的文件系统符号链接支持。

最好的,安德鲁

于 2013-09-25T14:03:21.237 回答