Linux重启后Hadoop namenode无法启动

前几天买了个阿里云服务器,在上面搭了一个伪分布式Hadoop,结果服务器中挖矿病毒了,我透,真是服了。怎么也搞不定这玩意,我每晚睡觉前就把服务器给关了,第二天再打开,能少被耗点羊毛就少点(流下了贫穷和不学无术的泪水),结果服务器重启之后就发现我滴个乖乖,namenode咋不见了。有时候格式化nameNode后它不见了有时候是在浏览器管理网页上找不到它
在这里插入图片描述
上网找了一下,发现了问题所在,最终把namenode这玩意找回来了。特此记录一下,欢迎大家交流学习 (点赞评论转发关注)。
还不点赞?
开机后使用 start-all.sh 命令开启Hadoop服务,开启后使用 jps 命令查看进程,发现namenod没有成功启动。以前的我是这么处理的:hdfs namenode -format 。我就不信格式化还不行。当然,格式化后再启动所有服务,你会发现namenode确实是回来了,但特么 datanode 这个弟弟不见了。别想多了,namenode和datanode哥俩就是在玩弄你呢。

在这里插入图片描述
那问题出在哪里了呢?
在这里插入图片描述
问题就出在了 core-site.xml 这个配置文件。首先从Hadoop的配置方式来看,在伪分布式配置下,虽然只需要配置 fs.defaultFS 和 dfs.replication 就可以让Hadoop运行(官方教程如此),不过若没有配置 hadoop.tmp.dir 参数(它默认配置了Hadoop运行时产生的的文件的存储目录),则Hadoop默认使用的临时目录为 /tmp/hadoo-hadoop,而这个目录在重启时有可能被系统清理掉,就会出现namenode无法启动的问题,导致必须重新执行 namenode 的格式化,才能找回namenode。然后这里就会出现前面我们说的问题,再次格式化后namenode是回来了,但datanode这个弟弟又不见了。这又是为啥呢,欲知为何,请各位看官移步这里

那我们要怎么解决重启后namenode丢失的问题呢?经过前面的分析,相信大家都知道该怎么办了吧。答案就是自定义hadoop.tmp.dir参数,不要把Hadoop运行时产生的文件放在默认的临时文件夹下。大家具体想放哪里都可以,这个看个人情况。下面是我设置的参数:

<configuration>
        <property>
                <name>hadoop.tmp.dir</name>
                <value>/usr/local/hadoop/namenode_tmp_dir</value>
                <description>Abase for other temporary directories.</description>
        </property>
        <property>
                <name>fs.defaultFS</name>
                <value>hdfs://hadoop0:9000</value>
        </property>
</configuration>

namenode_tmp_dir这个文件夹就是我自己新建的,就放在hadoop的安装目录下面。
在这里插入图片描述
大家在填写文件路径时要注意不要加 file: 在路径前面,例如这样 file:/usr/local/hadoop/namenode_tmp_dir。有时候可能会因为这个报错。

设置好hadoop.tmp.dir参数后保存,重新格式化 namenode,重启Hadoop服务,使用 jps 命令查看进程就会发现你们亲爱的 namenode 回来了(但有可能你们亲爱的datanode不见了,不见了请移步这里)。
在这里插入图片描述

那还不快点!!!!!!!!!!!!!!!!!!

在这里插入图片描述

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值