在ubuntu下安装完hadoop 1.03版本的伪分布式环境后,在顺利安装成功后,一旦重启电脑,总是会发生如下错误
查看了下hadoop的日志目录,发现了这么个问题,异常似乎是hadoop的tmp目录设置有问题,,ERROR org.apache.hadoop.security.UserGroupInformation: PriviledgedActionException as:root cause:java.io.IOException: File /tmp/hadoop-root/mapred/system/jobtracker.info could only be replicated to 0 nodes, instead of 1
在默认情况下,hadoop tmp目录会设在/tmp/hadoop-{usr-name}下,但是ubuntu会在重启后删除/tmp下的用户数据,导致namenode文件状态不一致,所以每次都需要hadoop namenode -format.有没有方案解决这个问题呢?
答案当然是肯定的,我们只需要重新设置hadoop的tmp目录就可以了,需要修改conf目录下到core-site.xml文件,添加hadoop.tmp.dir属性,然后指定一个自己定制的目录即可。
添加完毕后,重新格式化hadoop namenode -format,重启以后保证不会有同样的问题了。
2012-06-22 15:35:49,359 INFO org.apache.hadoop.hdfs.server.namenode.NameNode: Web-server up at: 0.0.0.0:50070
2012-06-22 15:35:49,365 INFO org.apache.hadoop.ipc.Server: IPC Server Responder: starting
2012-06-22 15:35:49,369 INFO org.apache.hadoop.ipc.Server: IPC Server listener on 9000: starting
2012-06-22 15:35:49,377 INFO org.apache.hadoop.ipc.Server: IPC Server handler 0 on 9000: starting
2012-06-22 15:35:49,381 INFO org.apache.hadoop.ipc.Server: IPC Server handler 1 on 9000: starting
2012-06-22 15:35:49,388 INFO org.apache.hadoop.ipc.Server: IPC Server handler 2 on 9000: starting
2012-06-22 15:35:49,391 INFO org.apache.hadoop.ipc.Server: IPC Server handler 3 on 9000: starting
2012-06-22 15:35:49,399 INFO org.apache.hadoop.ipc.Server: IPC Server handler 4 on 9000: starting
2012-06-22 15:35:49,402 INFO org.apache.hadoop.ipc.Server: IPC Server handler 5 on 9000: starting
2012-06-22 15:35:49,405 INFO org.apache.hadoop.ipc.Server: IPC Server handler 6 on 9000: starting
2012-06-22 15:35:49,413 INFO org.apache.hadoop.ipc.Server: IPC Server handler 7 on 9000: starting
2012-06-22 15:35:49,426 INFO org.apache.hadoop.ipc.Server: IPC Server handler 8 on 9000: starting
2012-06-22 15:35:49,449 INFO org.apache.hadoop.ipc.Server: IPC Server handler 9 on 9000: starting
查看了下hadoop的日志目录,发现了这么个问题,异常似乎是hadoop的tmp目录设置有问题,,ERROR org.apache.hadoop.security.UserGroupInformation: PriviledgedActionException as:root cause:java.io.IOException: File /tmp/hadoop-root/mapred/system/jobtracker.info could only be replicated to 0 nodes, instead of 1
在默认情况下,hadoop tmp目录会设在/tmp/hadoop-{usr-name}下,但是ubuntu会在重启后删除/tmp下的用户数据,导致namenode文件状态不一致,所以每次都需要hadoop namenode -format.有没有方案解决这个问题呢?
答案当然是肯定的,我们只需要重新设置hadoop的tmp目录就可以了,需要修改conf目录下到core-site.xml文件,添加hadoop.tmp.dir属性,然后指定一个自己定制的目录即可。
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/share/hadoop/tmp</value>
</property>
添加完毕后,重新格式化hadoop namenode -format,重启以后保证不会有同样的问题了。