前面配置好hadoop后,在使用中发现一个问题。就是每次启动都需要格式化,不然namenode就无法启动。
在网上找到了相应的解决方法http://blog.csdn.net/bychjzh/article/details/7830508
内容如下:
最近遇到了一个问题,执行start-all.sh的时候发现JPS一下namenode没有启动
每次开机都得重新格式化一下namenode才可以
其实问题就出在tmp文件,默认的tmp文件每次重新开机会被清空,与此同时namenode的格式化信息就会丢失
于是我们得重新配置一个tmp文件目录
首先在home目录下建立一个hadoop_tmp目录
sudo mkdir ~/hadoop_tmp
然后修改hadoop/conf目录里面的core-site.xml文件,加入以下节点:
<property>
<name>hadoop.tmp.dir</name>
<value>/home/chjzh/hadoop_tmp</value>
<description>A base for other temporary directories.</description>
</property>
注意:我的用户是chjzh所以目录是/home/chjzh/hadoop_tmp
OK了,重新格式化Namenode
hadoop namenode -format
然后启动hadoop
start-all.sh
执行下JPS命令就可以看到NameNode了
我依照上面的方法操作后,发现还是无法启动。
最后才明白,是新建的目录没有修改权限,图点简单,就直接给了777权限,然后就都好了。
室友推荐了一篇更加详细的配置hadoop 的文章,图文并茂。http://blog.csdn.net/hitwengqi/article/details/8008203