2015-08-28 150 views
2

我手边有问题,需要我监视正在访问的文件集。可以从Hadoop文件系统和Linux机器上的文件系统访问这些文件。记录Hadoop的文件系统操作

我需要不断监视和整合来自两个文件系统的日志,以获得一组特定的几个文件。

任何想法如何做到这一点?

+0

嗯,是的。我们一直在使用inotify来监视linux机器中的某些文件夹。我想将功能扩展到HDFS, –

回答

1

从Apache Hadoop 2.6.0(或Cloudera CDH用户,从5.2.0开始)开始,HDFS添加了类似inotify的功能。该文件的JIRA包含a design document,详细描述了HDFS支持这种需求的实现形式。

来自同一实现进一步的测试案例说明如何利用该功能:TestDFSInotifyEventInputStream

也是记住默认的访问时间粒度(从而追踪)为HDFS是非常低赋予其WORM性能语义。您可能想要从NameNode配置中减去值为dfs.namenode.accesstime.precision的值,默认值为1小时(以毫秒为单位)。