由于需要更改hadoop平台配置,需要关闭平台,在关闭的时候发现关闭不了:
no jobtracker to stop
192.168.1.107: no tasktracker to stop
192.168.1.106: no tasktracker to stop
192.168.1.105: no tasktracker to stop
192.168.1.107: no namenode to stop
192.168.1.107: no datanode to stop
192.168.1.105: no datanode to stop
192.168.1.106: no datanode to stop
192.168.1.107: stopping secondarynamenode
网上查找了很多资料,发现有人说格式化一下就可以了,或者用一些其他的方法去处理,这样有可能造成hadoop上的资料丢失,不可取。
在执行hadoop命令时,该命令需要其进程号pid进行执行,由于pid丢失,造成hadoop服务执行命令。
解决办法:
查看hadoop配置文件hadoop-env.sh,其中有个配置是配置其pid的位置:
export HADOOP_PID_DIR=/home/hadoop/hadoop-tmp
这是hadoop各项进程的pid号对应的文件
在这文件中只保存了其进程号
如果文件丢失,根据进程,和文件位置,将文件重新建立,各个子节点也要重新建立,这样就能执行hadoop的各项命令了,且不用担心数据丢失。