记一次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指定位置

 

yarn-site.xml是Hadoop YARN的配置文件之一,主要用于配置YARN资源管理器(ResourceManager)和节点管理器(NodeManager)的相关参数。下面是一个示例yarn-site.xml文件,你可以根据自己的需求进行相应的修改。 ```xml <?xml version="1.0"?> <configuration> <!--YARN ResourceManager配置--> <property> <name>yarn.resourcemanager.hostname</name> <value>your_rm_host_name</value> </property> <property> <name>yarn.resourcemanager.address</name> <value>${yarn.resourcemanager.hostname}:8032</value> </property> <property> <name>yarn.resourcemanager.scheduler.address</name> <value>${yarn.resourcemanager.hostname}:8030</value> </property> <property> <name>yarn.resourcemanager.resource-tracker.address</name> <value>${yarn.resourcemanager.hostname}:8031</value> </property> <property> <name>yarn.resourcemanager.admin.address</name> <value>${yarn.resourcemanager.hostname}:8033</value> </property> <property> <name>yarn.resourcemanager.webapp.address</name> <value>${yarn.resourcemanager.hostname}:8088</value> </property> <!--NodeManager配置--> <property> <name>yarn.nodemanager.local-dirs</name> <value>/tmp/hadoop-yarn/nm-local-dir</value> </property> <property> <name>yarn.nodemanager.log-dirs</name> <value>/tmp/hadoop-yarn/nm-logs</value> </property> <!--NodeManager与ResourceManager通信配置--> <property> <name>yarn.nodemanager.remote-app-log-dir</name> <value>/tmp/hadoop-yarn/logs</value> </property> <property> <name>yarn.nodemanager.log-aggregation-dir</name> <value>/tmp/hadoop-yarn/logs</value> </property> <property> <name>yarn.log.server.url</name> <value>http://${yarn.resourcemanager.hostname}:19888/jobhistory/logs</value> </property> <!--YARN应用程序配置--> <property> <name>yarn.app.mapreduce.am.resource.mb</name> <value>1024</value> </property> <property> <name>yarn.app.mapreduce.am.command-opts</name> <value>-Xmx768m</value> </property> </configuration> ``` 需要注意的是,yarn-site.xml文件需要放置在Hadoop配置目录下(默认为$HADOOP_HOME/etc/hadoop)。另外,如果你使用的是Hadoop集群,那么该文件需要在所有的节点上进行相应的修改和配置
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值