Chinaunix首页 | 论坛 | 博客
  • 博客访问: 10197744
  • 博文数量: 1669
  • 博客积分: 16831
  • 博客等级: 上将
  • 技术积分: 12594
  • 用 户 组: 普通用户
  • 注册时间: 2011-02-25 07:23
个人简介

柔中带刚,刚中带柔,淫荡中富含柔和,刚猛中荡漾风骚,无坚不摧,无孔不入!

文章分类

全部博文(1669)

文章存档

2023年(4)

2022年(1)

2021年(10)

2020年(24)

2019年(4)

2018年(19)

2017年(66)

2016年(60)

2015年(49)

2014年(201)

2013年(221)

2012年(638)

2011年(372)

分类: 架构设计与优化

2013-11-25 15:22:54

一、       环境说明:

虚拟机VMware中安装Ubuntu12.04Hadoop版本0.20.2Java版本jdk1.7.0_21

/etc/hosts中配置:127.0.0.1 localhost

Hadoop安装路径:/usr/lib/hadoop-0.20.2/

Java安装路径:/usr/lib/jvm/jdk1.7.0_21/

用户需按照自己的配置个性化更改,但大概框架如下文介绍。


二、       conf文件夹解析:

1.        masters/slavers:配置masters和slavers的IP地址

分别为localhostlocalhost

2.        hadoop-env.sh:配置Hadoop 运行时的环境变量,eg.JAVA_HOME

export JAVA_HOME=/usr/lib/jvm/jdk1.7.0_21;

3.        core-site.xml:配置Hadoop的核心,可覆盖core-default.xml 中的对应项

   fs.default.name
   hdfs:localhost:9000

4.        hdfs-site.xml:配置HDFS,可覆盖hdfs-default.xml 中的对应项


   dfs.name.dir
   /usr/lib/hadoop-0.20.2/name
   dfs.data.dir
   /usr/lib/hadoop-0.20.2/data1,/usr/lib/hadoop-0.20.2/data2
   dfs.replication
    2

5.        mapred-site.xml:Map/Reduce的配置文件,对应并覆盖mapred-default.xml 中的配置项


   mapred.job.tracker
   localhost:9001


三、       相关命令:

su hadoop:切换用户

bin/hadoop namenode –format:格式化

bin/hadoop namenode:开启namenode

bin/start-all.sh:开启所有服务

bin/stop-all.sh:停止所有服务

bin/hadoop dfsadmin -safemode leave:离开safemode

chmod –R a+wrx /usr/lib/hadoop-0.20.2/name:更改name文件夹及子目录(-R)的权限(+wrx),所有用户(a)


四、       NameNode问题:

每次重启Ubuntu12.04后,Hadoop就不能正常运行,这个问题很常见,网络上的问题和回答也是种类繁多,算上个人遇到的一些问题,一并总结。

  1. 需配置haoop.tmp.dir,即Hadoop运行的数据保存在该值对应的文件夹中,重启后文件夹中的数据被清除。可在conf/core-site.xml中加入

         hadoop.tmp.dir
         /usr/lib/hadoop-0.20.2/tmp

  1. 执行bin/hadoopnamenode –format后报错:Format aborted in …… 

原因:在对namenode格式化之前,要确保dfs.name.dir参数指定的目录不存在。

Hadoop这样做的目的是防止错误地将已存在的集群格式化了

(参考: http://blog.sina.com.cn/s/blog_48a45b9501011z7d.html)

解决:先删除name文件夹,然后再执行bin/hadoopnamenode –format

  1. 执行bin/hadoopnamenode –format中的Yy

原因:在1.x版本中该选项的回答是“大小写敏感”的,所以用Y而不是y

解决:用Y

(参考: )

  1. sudo bin/hadoop namenode –formatbin/hadoop namenode –format:

原因:执行了sudo bin/hadoop namenode –formatname文件夹下某些文件加上了“小锁”——权限出问题了,造成不能启动namenode,如下图1所示;也不能重新format了,如下图2所示;

解决:用chmod更改name文件夹的权限sudo chmod –R a+wrx name,然后测试:sudo/hadoop namenode,如下图3所示;

总结:按照如下步骤进行:bin/stop-all.sh,按照上面说明修改conf/core-site.xml,删除name文件夹,bin/hadoop namenode –formatbin/start-all.sh

五、       其他网友的总结:

 Hadoop使用常见问题以及解决方法


阅读(1279) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~