Hadoop namenode无法启动常见解决办法

1.在root账户(非hadoop账户)下操作hadoop

启动namenode失败,log中提示错误:

INFO org.apache.hadoop.hdfs.server.common.Storage: Cannot lock storage /opt/data/hadoop/hdfs/name. The directory is already locked.

2013-08-06 09:54:45,052 ERROR org.apache.hadoop.hdfs.server.namenode.FSNamesystem: FSNamesystem initialization failed.


因为在root账户下启动了下hadoop,虽然Ctrl+C终止了,但是master上的namenode在root下启动了,这时候切换到hadoop账户下再启动hadoop会出现目录被root账户下的namenode进程锁定,导致FSNameSystem启动失败。

解决办法:切换至root,用jps查看启动的进程,kill掉就OK。

2.如果每次开机都得重新格式化一下namenode才可以启动namenode,那么问题就出在tmp文件,默认的tmp文件每次重新开机会被清空,与此同时namenode的格式化信息就会丢失,于是我们得重新配置一个tmp文件目录:
        首先在home目录下自己建立一个非tmp的目录——hadoop_tmp目录
                sudo mkdir ~/hadoop_tmp
        然后修改hadoop/conf目录里面的core-site.xml文件,加入以下节点:
                <property>
                        <name>hadoop.tmp.dir</name>
                <value>/home/chjzh/hadoop_tmp</value>
                        <description>A base for other temporary directories.</description>
                </property>
        注意:我的用户是chjzh所以目录是/home/chjzh/hadoop_tmp
                
        OK了,重新格式化Namenode
                hadoop namenode -format
        然后启动hadoop
                start-all.sh
        执行下JPS命令就可以看到NameNode了

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值