单节点下NameNode进程无法启动

背景:学习了若泽大数据,近期又在重新回顾一遍:

**问题:**使用start-dfs.sh启动后,jps查看并没有NameNode进程。

在这里插入图片描述

解决:

第一步:定位到日志文件

  • 既然NameNode进程没看见启动,我们就要去查找原因,进入到记录NameNode、DataNode、SecondaryNameNode这三个进程的文件中,查看NameNode的近200行日志。

  • 记录三进程的日志目录在启动hdfs上有体现。

  • 进入到日志目录:cd /home/hadoop/app/hadoop-2.6.0-cdh5.7.0/logs,使用ls -nh 命令查看文件夹下每个文件的大小。

  • 注意:记录启动进程的日志文件别搞错了。
    在这里插入图片描述

第二步:定位到日志文件中出现的问题:

  • 使用tail -200f hadoop-hadoop-namenode-hadoop004.log,打印这个文件最近200行的日志。

  • 小技巧,打印完后,使用回车键敲出一段空行符号,然后使用hadoop-daemon.sh命令启动NameNode,此时就能监控到启动NameNode的日志。
    在这里插入图片描述

org.apache.hadoop.hdfs.server.common.InconsistentFSStateException: Directory /tmp/hadoop-hadoop/dfs/name is in an inconsistent state: storage directory does not exist or is not accessible.
        at org.apache.hadoop.hdfs.server.namenode.FSImage.recoverStorageDirs(FSImage.java:314)
        at org.apache.hadoop.hdfs.server.namenode.FSImage.recoverTransitionRead(FSImage.java:202)
        at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.loadFSImage(FSNamesystem.java:1063)
        at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.loadFromDisk(FSNamesystem.java:767)
        at org.apache.hadoop.hdfs.server.namenode.NameNode.loadNamesystem(NameNode.java:609)
        at org.apache.hadoop.hdfs.server.namenode.NameNode.initialize(NameNode.java:670)
        at org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:838)
        at org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:817)
        at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1538)
        at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1606)
2019-09-08 22:55:04,619 INFO org.mortbay.log: Stopped HttpServer2$SelectChannelConnectorWithSafeStartup@0.0.0.0:50070
2019-09-08 22:55:04,720 INFO org.apache.hadoop.metrics2.impl.MetricsSystemImpl: Stopping NameNode metrics system...
2019-09-08 22:55:04,721 INFO org.apache.hadoop.metrics2.impl.MetricsSystemImpl: NameNode metrics system stopped.
2019-09-08 22:55:04,721 INFO org.apache.hadoop.metrics2.impl.MetricsSystemImpl: NameNode metrics system shutdown complete.
2019-09-08 22:55:04,721 ERROR org.apache.hadoop.hdfs.server.namenode.NameNode: Failed to start namenode.

定位报错信息:

  • org.apache.hadoop.hdfs.server.common.InconsistentFSStateException: Directory /tmp/hadoop-hadoop/dfs/name is in an inconsistent state(不一致的状态): storage directory does not exist or is not accessible (存储目录不存在或不可访问)

开始搜索解决:

尝试百度的解决方案一:
https://blog.csdn.net/deqingguo/article/details/6907378

  • 博客说是没有指定hadoop.tmp.dir参数的原因,尝试配置,重启hdfs,还是失败了,报的错和没改之前一样。

hadoop.tmp.dir参数解析:
要知道的是hadoop参数怎么找?

  • https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-common/SingleCluster.html
  • 去到对应的配置文件下找参数即可。
    在这里插入图片描述
namevaluedescription
hadoop.tmp.dir/tmp/hadoop-${user.name}a base for other temporary directories
org.apache.hadoop.hdfs.server.common.InconsistentFSStateException: Directory /home/hadoop/app/hadoop-2.6.0-cdh5.7.0/tmp/dfs/name is in an inconsistent state: storage directory does not exist or is not accessible.
        at org.apache.hadoop.hdfs.server.namenode.FSImage.recoverStorageDirs(FSImage.java:314)
        at org.apache.hadoop.hdfs.server.namenode.FSImage.recoverTransitionRead(FSImage.java:202)
        at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.loadFSImage(FSNamesystem.java:1063)
        at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.loadFromDisk(FSNamesystem.java:767)
        at org.apache.hadoop.hdfs.server.namenode.NameNode.loadNamesystem(NameNode.java:609)
        at org.apache.hadoop.hdfs.server.namenode.NameNode.initialize(NameNode.java:670)
        at org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:838)
        at org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:817)
        at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1538)
        at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1606)
2019-09-09 01:34:55,288 INFO org.apache.hadoop.util.ExitUtil: Exiting with status 1
2019-09-09 01:34:55,289 INFO org.apache.hadoop.hdfs.server.namenode.NameNode: SHUTDOWN_MSG: 

方案一:验证失败

解决方案二:
老老实实按着官网,重新部署了下core-site.xml、hdfs-site.xml,格式化NameNode,重新启动即可

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值