没有类似截图,口头说的详细点
按我这方法应该能解决大部分问题,如果还不得我也无能为力
这个方法就是把hadoop重置到格式化之前
因为你没格式化之前,上面三项都是不存在的,你格式化后才会出现
通常守护进程缺失或者自己死亡就是因为你格式化次数太多,导致出错,用这个方法可以把hadoop重置到格式化之前
hadoop配置文件中
core-site.xml有一项配置是这么写的
这里配置是为了指定hadoop的临时文件夹
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoopdir/tmp/</value>
</property>
hdfs-site.xml有两项是这么写的
第一段的意思是:定义DFS的namenode在本地文件系统的位置
第二段的意思是:定义DFS的datanode在存储数据块时在本地文件系统的位置
<property>
<name>dfs.namenode.name.dir</name>
<value>/home/hadoopdir/dfs/name</value>
</porperty>
<property>
<name>dfs.datanode.data.dir</name>
<value>/home/hadoopdir/dfs/data</value>
</property>
注意:这里的tmp,name,data都是指定到hadoopdir下的,如果有进程缺失,可以尝试以下操作
(路径根据自己写的在哪就是哪)
第一步:停止所有进程(stop-all.sh)
第二步:停止所有进程后,去认真检查以下配置文件:
hadoop-env.sh
core-site.xml
hdfs-site.xml
mapred-site.xml
yarn-site.xml
slaves
因为如果你配置文件里打错东西,在 property , name , value 这些属性名称没有错时,他不一定会报错,而是继续执行,如果用不了他也不会提示
第三步:删除所有节点的hadoopdir
rm -rf /home/hadoopdir
(这一步一定要在停止所有守护进程,且检查所有配置文件都没错之后)
路径是根据自己写的在哪就是哪,假设我写
hdfs/data
hdfs/name
hdfs/tmp
那我就直接把hdfs这个目录删了
是直接删除整个目录,目录里有data,tmp,name,不是一个一个删
第四步:重新格式化
在确保已经把上面三个配置项文件存放的目录全部删除之后,重新格式化
第五步:启动所有守护进程
如果还是缺失进程或进程自动死亡,请重新根据上面的步骤试试,如果还不得,我也无能为力,因为我就是一大学生,不是什么大佬