柔中带刚,刚中带柔,淫荡中富含柔和,刚猛中荡漾风骚,无坚不摧,无孔不入!
全部博文(1669)
分类: 架构设计与优化
2013-11-25 15:22:54
一、 环境说明:
虚拟机VMware中安装Ubuntu12.04,Hadoop版本0.20.2,Java版本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地址
分别为localhost、localhost
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 中的对应项
4. hdfs-site.xml:配置HDFS,可覆盖hdfs-default.xml 中的对应项
5. mapred-site.xml:Map/Reduce的配置文件,对应并覆盖mapred-default.xml 中的配置项
三、 相关命令:
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就不能正常运行,这个问题很常见,网络上的问题和回答也是种类繁多,算上个人遇到的一些问题,一并总结。
需配置haoop.tmp.dir,即Hadoop运行的数据保存在该值对应的文件夹中,重启后文件夹中的数据被清除。可在conf/core-site.xml中加入
执行bin/hadoopnamenode –format后报错:Format aborted in ……
原因:在对namenode格式化之前,要确保dfs.name.dir参数指定的目录不存在。
Hadoop这样做的目的是防止错误地将已存在的集群格式化了
(参考: http://blog.sina.com.cn/s/blog_48a45b9501011z7d.html)
解决:先删除name文件夹,然后再执行bin/hadoopnamenode –format
执行bin/hadoopnamenode –format中的Y与y:
原因:在1.x版本中该选项的回答是“大小写敏感”的,所以用Y而不是y
解决:用Y;
(参考: )
sudo bin/hadoop namenode –format与bin/hadoop namenode –format:
原因:执行了sudo bin/hadoop namenode –format后name文件夹下某些文件加上了“小锁”——权限出问题了,造成不能启动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 –format,bin/start-all.sh。
五、 其他网友的总结:
Hadoop使用常见问题以及解决方法