关闭

Hadoop集群配置问题

标签: hadoop集群mapreduce浏览器服务器平台
3098人阅读 评论(5) 收藏 举报
分类:

      师兄给十二台服务器搭建了hadoop平台,10.*.*.33 - 10.*.*.44, 其中33为namenode, 作为master,其他11台都是slaves。

      所有的配置,包括hadoop-env.sh,  hdfs-site.xml,  mapred-site.xml,  masters,  slaves,  core-site.xml都没有问题,可是进入bin,./start-all.sh之后,mapreduce部分是运行正常的,即通过浏览器http://10.*.*.33:50030/jobtracker.jsp是成功的,可是50070却失败(dfs部分没有成功,http://10.*.*.33:50070/dfshealth.jsp访问失败)。

      找到logs目录下的hadoop-***-namenode-***-33.log,里面显示出错,我一共遇到了两个错误,我一直改来改去,十二台机器一起改,耗了我一个通宵,最后还是除掉了问题,算是没有白花力气,总结问题如下:

       1. 在hdfs-site.xml里

          <name>dfs.name.dir</name>

          <value>/home/cadal/data/hadoop/cluster/name</value>

          为namenode配置的路径,一定要保证/home/cadal/data/hadoop文件夹下的所有文件的用户和组别都不能是root!比如我的用户名是cadal,组别是cadal,就要用命令改变hadoop文件夹内所有子文件夹都是cadal/cadal:

sudo chown -R cadal hadoop
sudo chgrp -R cadal hadoop

        2. 以上这步是为了在/bin下面做./hadoop namenode -format,可以尝试一下,如果在这里命令前面加sudo是不允许的,这应该就是为什么/home/cadal/data/hadoop不能是root组别和root用户的原因。

            继续说,在/bin下,每次./start-all.sh或者.start-dfs.sh和stop操作的时候,都要做./hadoop namenode -format,而往往data format会失败,记住,如果没有执行成功的时候,一定要去/home/cadal/data/hadoop/cluster/name下,执行

sudo rm -rf name
把已有name删除,再回到/bin下执行

./hadoop namenode -format

换句话说,也许你没有看到./hadoop namenode -format执行失败的提示(没有出现successfully这个词),http://10.*.*.33:50070/dfshealth.jsp访问依然失败,你就会去/logs的

hadoop-***-namenode-***-33.log查到

java.io.IOException: NameNode is not formatted.

或者别的类似的错误,比如我在更改root/root之前,一直遇到的


Directory /home/cadal/data/hadoop/cluster/name is in an inconsistant state: storage directory does not exist or is not accessible.

归根到底原因都是./hadoop namenode -format执行失败,为什么失败?

a. /home/cadal/data/hadoop文件夹下的文件的用户和组别是root

b. 执行前没有去删除/home/cadal/data/hadoop/cluster/name






0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:772700次
    • 积分:9610
    • 等级:
    • 排名:第2066名
    • 原创:158篇
    • 转载:1篇
    • 译文:5篇
    • 评论:241条