在 HADOOP_HOME/conf/ hadoop-env.sh 里面,修改配置如下:

export HADOOP_PID_DIR=/home/hadoop/pids  
 
pid文件默认在/tmp目录下,而/tmp是会被系统定期清理的,所以Pid文件被删除后就no namenode to stop
 
core-site.xml添加 hadoop.tmp.dir
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
 
<property>
<name>hadoop.tmp.dir</name>  
<value>/home/lex/hadoop/namenode</value> 
</property>
</configuration>
 
datanode为0的话,把 /home/lex/hadoop/namenode目录删除掉,格式式,再启动就可以了