分享

hadoop2.4.0 伪分布安装配置

本帖最后由 pig2 于 2014-5-20 01:13 编辑
问题导读:
1.如何判断格式化成功?
2.hadoop2.4启动方式是否发生变化?
3.hadoop2.4在配置方面是否有变化?





包下载:hadoop2.4最新版本各种包下载
在折腾了一天多才弄好环境的烦躁下,中间遇到各种问题,网上搜索还没有结果,最终经过很多折腾终于搞定,我觉得我有必要自己写一篇关于hadoop的安装了。
-------------------------------------------------------------------------------------------------------------------
本人的准备工作,官网最新的java7u25(至少是java7,具体版本不记得了,是apt安装的openjdk-java),hadoop也是最新的2.4.0。

采用伪分布式模式,即hadoop将所有进程运行于同一台主机上,但此时Hadoop将使用分布式文件系统,而且各jobs也是由JobTracker服务管理的独立进程。同时,由于伪分布式的Hadoop集群只有一个节点,因此HDFS的块复制将限制为单个副本,其secondary-master和slave也都将运行于本地主机。此种模式除了并非真正意义的分布式之外,其程序执行逻辑完全类似于完全分布式,因此,常用于开发人员测试程序执行。


1,准备工作
切换为root用户
apt安装jdk,ssh
可以参考
hadoop2完全分布式最新高可靠安装文档


官网下载hadoop2.4.0,解压到/home/wbq/hadoop2.4.0
可以下载:hadoop2.4最新版本各种包下载


2,对于hadoop的配置
  #vi etc/profile
注意,这里说的etc不是hadoop文件夹下的那个,是用户根目录下的。在末尾添加:
export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-amd64
export HADOOP_PREFIX=/home/wbq/hadoop-2.4.0
export CLASSPATH=".:$JAVA_HOME/lib:$CLASSPATH"
export PATH="$JAVA_HOME/:$HADOOP_PREFIX/bin:$PATH"
export HADOOP_PREFIX PATH CLASSPATH

进入hadoop2.4.0文件夹,配置etc/hadoop中的文件。
hadoop-env.sh
export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-amd64
另外可选的添加上:
export HADOOP_COMMON_LIB_NATIVE_DIR=${HADOOP_PREFIX}/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_PREFIX/lib"
core-site.xml,做如下配置:

                fs.default.name
                hdfs://localhost:9000

                dfs.namenode.name.dir
                file:/home/wbq/hadoop-2.4.0/dfs/name

                dfs.datanode.data.dir
                file:/home/wbq/hadoop-2.4.0/dfs/data



hdfs-site.xml,做如下配置(系统默认文件保存3份,因伪分布模式,故改为1份):

                dfs.replication
                1

                dfs.namenode.name.dir
                /home/wbq/hadoop-2.4.0/dfs/name

                dfs.datanode.data.dir
                /home/wbq/hadoop-2.4.0/dfs/data

mapred-site.xml,做如下配置:

                 mapreduce.jobtracker.address
                 localhost:9001
            
这里2.4.0中没有这个文件,可以新建一个,或者直接修改mapred-site.xml.template

mapreduce.framework.name
yarn

yarn-site.xml,如下配置:
mapreduce.framework.name
yarn
yarn.nodemanager.aux-services
mapreduce_shuffle

3,ssh免密码登陆设置
ssh-keygen -t rsa -P ""然后一直回车即可
cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys
注意我这里用的root目录,不是傻逼呵呵的自己的用户名下的目录。
试一下ssh localhost要是能免密码登陆显示系统信息,就应该是对的。(这里有个输入密码环节,是系统的密码)
可以参考:
linux(ubuntu)无密码相互登录高可靠文档


4,开始配置
第一步:到hadoop2.4.0目录下
./bin/hadoop namenode –format格式化结点信息
最后一句出现shutting down什么玩意,中间没有warn或者fatal error应该就对了。

第二步:然后,开始sbin/start-all.sh.
新版本的hadoop其实不建议这么直接start-all,建议一步步来,神马start-dfs,然后在start-map,之类的,我觉得麻烦,就没试。
若是这里出现神马正在running,那么先执行一步stop-all.sh操作,在start-all。
还可能出现的是java神马class不行,没找到,或者让你每步都加载,这是javahome设置的问题,请仔细检查上面关于javahome的设置,是不是输错了。
还有可能出现permission denied权限不够,那就是你设置ssh登陆的问题我觉得可能是因为,上面我说的那种情况,你是在cat的时候,把密钥加载到了wbq的目录下,而不是root目录下,而wbq(用户名)又恰恰比起root来说权限不足,所以上面我说要从一开始就切换到root下执行过程。
这里要是出现好几个staring这个那个的,而且没有报错,估计就是对了。
测试一下状态吧,检查一下进程是否启动jps命令:出现大概是:
21567 SecondaryNameNode
21384 DataNode
21921 NodeManager
22167 Jps
21720 ResourceManager
21237 NameNode
然后再测试一下hadoop状态,./bin/hadoop dfsadmin -report,出现大概是:
DEPRECATED: Use of this script to execute hdfs command is deprecated.
Instead use the hdfs command for it.
14/05/02 10:50:35 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Configured Capacity: 31407177728 (29.25 GB)
Present Capacity: 23889055744 (22.25 GB)
DFS Remaining: 23889027072 (22.25 GB)
DFS Used: 28672 (28 KB)
DFS Used%: 0.00%
Under replicated blocks: 0
Blocks with corrupt replicas: 0
Missing blocks: 0
balabala&……………………(省略)
Cache Used: 0 (0 B)
Cache Remaining: 0 (0 B)
Cache Used%: 100.00% Cache Remaining%: 0.00% Last contact: Fri May
   02 10:50:35 CST 2014
这就应该是对的了。

高兴的时候到了!浏览器下http://localhost:50070 这是hdfs的页面
001vtf6Ozy6IyBE24aGf6&690.jpg



http://localhost:8088 hadoop进程管理页面
001vtf6Ozy6IyBMfMeIb8&690.jpg






已有(22)人评论

跳转到指定楼层
wmj007 发表于 2014-6-11 16:53:59
详细的文档,总结的很全面,关键是配置文件及免登录配置
回复

使用道具 举报

wmj007 发表于 2014-6-11 18:24:54
mapred-site.xml  这个文件中需要增加下面这项配置吗?
  <property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
  </property>

点评

hyj
你的理解是正确的  发表于 2014-6-11 18:47
回复

使用道具 举报

wmj007 发表于 2014-6-11 18:26:22
wmj007 发表于 2014-6-11 18:24
mapred-site.xml  这个文件中需要增加下面这项配置吗?
  
    mapreduce.framework.name

楼主原文这里是这样写的,没怎么看明白,希望指导,谢谢!

mapred-site.xml,做如下配置:

                 mapreduce.jobtracker.address
                 localhost:9001
            
这里2.4.0中没有这个文件,可以新建一个,或者直接修改mapred-site.xml.template

mapreduce.framework.name
yarn

yarn-site.xml,如下配置:
mapreduce.framework.name
yarn
yarn.nodemanager.aux-services
mapreduce_shuffle
回复

使用道具 举报

hyj 发表于 2014-6-11 18:54:03
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

enson16855 发表于 2014-6-24 09:58:27
wmj007 发表于 2014-6-11 18:24
mapred-site.xml  这个文件中需要增加下面这项配置吗?
  
    mapreduce.framework.name

这个配置是需要的~
回复

使用道具 举报

GreenArrow 发表于 2014-8-2 23:34:54
非常的不错哦
回复

使用道具 举报

airsola 发表于 2014-11-21 00:32:31
按照说明,伪分布式部署成功,谢谢那
回复

使用道具 举报

DSP 发表于 2014-11-23 10:58:49
HADOOP_HDFS_HOME not found!
,这是什么情况???
回复

使用道具 举报

DSP 发表于 2014-11-23 11:00:29
enson16855 发表于 2014-6-24 09:58
这个配置是需要的~

HADOOP_HDFS_HOME not found!
,这是什么情况???

回复

使用道具 举报

123下一页
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条