Hortonworks HDFS 名称节点在启动时出现 tryLock 问题

Posted

技术标签:

【中文标题】Hortonworks HDFS 名称节点在启动时出现 tryLock 问题【英文标题】:Hortonworks HDFS Name Node tryLock issue on startup 【发布时间】:2018-11-14 20:36:03 【问题描述】:

我们正在使用 HDP HDFS 模块版本 2.7.3.2.6.5.0-292。

服务器卡住了,必须硬重置 - 现在名称节点服务在启动时抛出错误。

在成功获取锁定文件后,它会因为尝试再次获取它而立即失败,即使它是针对同一个进程(可能是同一个线程) - 它失败了。

我们应该如何用完整的数据开始名称节点

18/11/14 20:19:24 INFO util.GSet: Computing capacity for map NameNodeRetryCache 18/11/14 20:19:24 INFO util.GSet: VM type = 64-bit 18/11/14 20:19:24 INFO util.GSet: 0.029999999329447746% max memory 1011.3 MB = 310.7 KB 18/11/14 20:19:25 INFO util.GSet: capacity = 2^15 = 32768 entries 18/11/14 20:19:25 INFO common.Storage: Lock on /mnt/pd1/hadoop/hdfs/namenode/in_use.lock acquired by nodename 10635@hadoop-327 18/11/14 20:19:25 ERROR common.Storage: It appears that another node 10635@hadoop-327 has already locked the storage directory: /mnt/pd1/hadoop/hdfs/namenode java.nio.channels.OverlappingFileLockException at sun.nio.ch.SharedFileLockTable.checkList(FileLockTable.java:255) at sun.nio.ch.SharedFileLockTable.add(FileLockTable.java:152) at sun.nio.ch.FileChannelImpl.tryLock(FileChannelImpl.java:1113) at java.nio.channels.FileChannel.tryLock(FileChannel.java:1155) at org.apache.hadoop.hdfs.server.common.Storage$StorageDirectory.tryLock(Storage.java:770) at org.apache.hadoop.hdfs.server.common.Storage$StorageDirectory.lock(Storage.java:738) at org.apache.hadoop.hdfs.server.common.Storage$StorageDirectory.analyzeStorage(Storage.java:551) at org.apache.hadoop.hdfs.server.common.Storage$StorageDirectory.analyzeStorage(Storage.java:502)

【问题讨论】:

【参考方案1】:

看来我们有 2 个路径指向同一目录 dfs.namenode.name.dir,这导致了双重锁定。一旦我们使用单一路径,一切都恢复正常。

【讨论】:

以上是关于Hortonworks HDFS 名称节点在启动时出现 tryLock 问题的主要内容,如果未能解决你的问题,请参考以下文章

名称节点未启动

如何在 hortonworks 沙箱上的 Ambari 中启用 HDFS 文件视图?

在 Hortonworks 中安装服务的正确方法是啥?

Hortonworks 数据节点安装:secureMain 中的异常

hdfs详解之架构、SNN和副本放置策略

hdfs datanode不回收本地磁盘空间,如果在关闭一段时间后重新启动