HDFS NFS出现问题,已解决another site,建议将hdfs-site.xml
设置为...
<property>
<name>dfs.namenode.accesstime.precision</name>
<value>3600000</value>
<description>
The access time for HDFS file is precise upto this value. The default value is 1 hour. Setting a value of 0 disables access times for HDFS.
</description>
</property>
我对“ HDFS的访问时间”到底是什么感到困惑。看着Hadoop docs,仍然无法确定。有人能更好地了解这是做什么的吗?另外, nfs3守护程序日志文件在哪里?
答案 0 :(得分:0)
这是在apache hadoop邮件列表上的讨论中告诉我的答案:
我认为访问时间是指文件的POSIX atime属性,即“上次访问时间” ,如此处[1]所述。 HDFS保持正确,重要,容易且便宜的修改时间(mtime),但仅保持非常低分辨率的上次访问时间,这不太重要,而且监视和记录也很昂贵,如此处所述[2] ]和此处[3]。它甚至没有在
hadoop fs -stat
命令中公开此低刷新时间值;如果要从HDFS api中读取Java,则需要使用Java。但是,要拥有符合标准的NFS api,您必须出示,因此HDFS NFS实现也需要。但是首先您必须对其进行配置。 文档说默认值是3,600,000毫秒(1小时),但是建议许多站点将其设置为零以完全关闭它,以提高HDFS的整体性能。请参见此处的示例([4],“不要让读取变成写入”部分。)因此,如果您的站点已在HDFS中关闭,则需要重新打开它以完全启用NFS。或者,您可以通过参考文件中所述的“ noatime”选项安装NFS来保持最佳效率。
我不知道nfs3守护程序日志文件在哪里,但是几乎可以肯定,它是在服务器节点上配置了NFS服务的。登录并在/ var / log下检查,例如使用
find /var/log -name ‘*nfs3*’ -print
[1] https://www.unixtutorial.org/atime-ctime-mtime-in-unix-filesystems
[2] https://issues.apache.org/jira/browse/HADOOP-1869
[3] https://superuser.com/questions/464290/why-is-cat-not-changing-the-access-time