• Hadoop namenode无法启动问题解决


    原因:在root账户(非hadoop账户)下操作hadoop会导致很大的问题

    首先运行bin/start-all.sh发现namenode没有启动

    只有它们

    9428 DataNode

    9712 JobTracker

    9626 SecondaryNameNode

    9983 Jps

    9915 TaskTracker

    遇到问题要学会翻看日志

    cd /usr/local/hadoop/logs

    发现日志下面有这个文件

    hadoop-hadoop-namenode-ubuntu.log.2014-07-29

    用vim打开,只要看err出错部分如下

    2014-07-29 02:30:22,388 ERRORorg.apache.hadoop.hdfs.server.namenode.FSNamesystem: FSNamesysteminitialization failed.

    java.io.FileNotFoundException: /usr/local/hadoop/hdfs/name/in_use.lock(Permission denied)

            atjava.io.RandomAccessFile.open(Native Method)

            atjava.io.RandomAccessFile.<init>(RandomAccessFile.java:236)

            atorg.apache.hadoop.hdfs.server.common.Storage$StorageDirectory.tryLock(Storage.java:617)

            atorg.apache.hadoop.hdfs.server.common.Storage$StorageDirectory.lock(Storage.java:594)

            atorg.apache.hadoop.hdfs.server.common.Storage$StorageDirectory.analyzeStorage(Storage.java:452)

            atorg.apache.hadoop.hdfs.server.namenode.FSImage.recoverTransitionRead(FSImage.java:299)

            atorg.apache.hadoop.hdfs.server.namenode.FSDirectory.loadFSImage(FSDirectory.java:104)

            atorg.apache.hadoop.hdfs.server.namenode.FSNamesystem.initialize(FSNamesystem.java:427)

            atorg.apache.hadoop.hdfs.server.namenode.FSNamesystem.<init>(FSNamesystem.java:395)

    是我上次用root操作hadoop所致的

    更改权限即可,改成hadoop所有

    chown -R hadoop:hadoop /usr/local/hadoop/hdfs/*

    chown -R hadoop:hadoop  /usr/local/hadoop/logs(日志文件也要改)

    先bin/stop-all.sh

    再bin/start-all.sh

    Namenode就又正常启动了

  • 相关阅读:
    MySQL ——索引原理与慢查询优化(Day45)
    mysql 练习题(Day44)
    MySQL 多表查询(Day43)
    MySQL 单表查询(Day42)
    MySQL -表完整性约束(Day41)
    回调函数
    进程池
    共享数据, 信号量(了解),事件(了解)
    管道
    python并发编程之多进程
  • 原文地址:https://www.cnblogs.com/unflynaomi/p/4476870.html
Copyright © 2020-2023  润新知