前面配置好hadoop后,每次开启虚拟机,启动集群后,总是有一些节点起不来。要不就是namenode,要不就是datanode。后面百度找到了原因所在:
在配置hdfs时,我们只配置了datanode的目录,而没有配置namdenode的相关信息。默认的tmp文件每次重新开机会被清空,与此同时namenode的格式化信息就会丢失。所以,每次一开机,集群找不到namenode的信息,故每次都要重新格式化集群。
解决办法:
修改hadoop/conf目录里面的core-site.xml文件,加入下面的配置
<property>
<name>hadoop.tmp.dir</name>
<value>/zoux/hadoop/Hadoop_tmp</value>
<description>A base for other temporary directories.</description>
</property>
我将从hadoop官网下载的Hadoop-0.20.2的安装包解压在/zoux目录下,
然后将Hadoop-0.20.2重命名了hadoop,然后再在hadoop目录下建立Hadoop_tmp目录,用于存放namenode的信息。
然后在重新格式化,重启就行!
关于如何初始化,详见我上一篇文章!
网友评论