记一次hadoop.tmp.dir配置因重启机器导致无法启动

缘由

      线上一直运行的hadopp集群,突然有一天服务器断电重启,集群正常启动,但是spark on  yarn上的任务无法提交,报错一提交任务AM就被kill掉。

解决方案

步骤一

      在$HADOOP_HOME/etc/hadoop中的core-site.xml有个 hadoop.tmp.dir 配置的是Hadoop临时目录,比如HDFS的NameNode数据默认都存放这个目录下,查看*-default.xml 等默认配置文件,就可以看到很多依赖${hadoop.tmp.dir} 的配置。

      默认的hadoop.tmp.dir 是/tmp/hadoop-${user.name} ,此时有个问题就是 NameNode 会将 HDFS 的元数据存储在这个/tmp目录下,如果操作系统重启了,系统会清空 /tmp 目录下的东西,导致NameNode元数据丢失,是个非常严重的问题,所有我们应该修改这个路径。

 

步骤二

      如果需要重新格式化 NameNode,需要先将原来 NameNode 和 DataNode 下的文件全部删除,不然会报错,NameNode 和 DataNode 所在目录是在 core-site.xml中 hadoop.tmp.dir、 dfs.namenode.name.dir、 dfs.datanode.data.dir属性配置的。

 

步骤三

     如果spark提交任务报错找不到类,可以查看$SPARK_HOME/conf目录下spark-defaults.conf是否添加了如下配置:

spark.yarn.jars=hdfs://xxx.xxx.xxx.xxx:9000/user/spark_jars/*

     如果配置了,需要把jars包上穿传到hdfs指定位置

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值