Hadoop HDFS Namenode启动不成功,hadoophdfs


今天在Pseudodistributed mode下启动HDFS 见配置http://blog.csdn.net/norriszhang/article/details/38659321
但是在试验向HDFS里拷贝文件时,发现出错,说没有找到namenode,用jps查看,有datanode和secondary namenode都启动起来了,但NameNode没有启动起来,用netstat -anp | grep 8020查看HDFS的默认端口8020也没有被监听。
经网上查询,得知原因:引 http://blog.csdn.net/bychjzh/article/details/7830508
原来是因为HDFS把namenode的格式化信息存在了系统的tmp目录下,该目录每次开机会被清空,因此每次重新启动机器,都需要重新格式化HDFS。 解决方案是配置一个新的tmp目录给hadoop
在$HADOOP_INSTALL/etc/hadoop/core-site.xml中添加一个property
<property>
    <name>hadoop.tmp.dir</name>
    <value>/home/norris/hadoop_tmp</value>
    <description>A base for other temporary directories.</description>
</property>
这样就把hadoop的tmp目录设置到/home/norris/hadoop_tmp下面了,就不用担心下次启动会被清空了。
配置好后,先格式化namenode %hadoop namenode -format 再启动HDFS %start-dfs.sh 再向HDFS里放文件。 %hadoop fs -copyFromLocal /home/norris/data/hadoop/weatherdata.txt /usr/norris/weatherdata.txt 再关机,重启,再启动HDFS %start-dfs.sh 再查看jps 有namenode被启动起来了。 查看文件: %hadoop fs -ls /usr/norris/

hadoop namenode不可以启动,bin/hadoop namenode -format也不行

版本多少 从错误信息来看应该是你运行hadoop的用户对/data/hadoop/name1这个目录没有访问权限 可以为该用户赋予对这个目录的全部权限 如何赋予权限请网上搜索
 

hadoop格式化时,不可以启动namenode

建议检查是否存在该目录:/home/hadoop-1.2.1/hadoop_tmp/dfs/name/current。或者手动创建该目录、或者在该目录内创建和删除文件。如果都成功,理论上来讲应该不会出现以上问题。
 

相关内容