分享

hadoop2.4.0 伪分布安装配置

 昵称597197 2014-07-10

问题及解决方案

1.启动过程中出现问题: JAVA_HOME IS NOT SET. 

解决方法是修改etc/hadoop/hadoop-env.sh文件,添加如下内容

export JAVA_HOME=/usr/lib/jdk/jdk1.7.0_51

2.HADOOP_CONF_DIR 未配置,出现错误:Error: Cannot find configuration directory: 在/etc/profile中添加:

export HADOOP_HOME=/root/jhh/hadoop/hadoop-0.23.9

export YARN_HOME=/root/jhh/hadoop/hadoop-0.23.9

export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop

export YARN_CONF_DIR=$HADOOP_HOME/etc/hadoop

3.访问log文件,permisson denied。 chmod修改log文件夹权限。


总结:

今天刚配置了一遍,只是单机版的伪分布式环境,之后在测试机上搭一遍。

刚开始学习hadoop,安装配置过程也走了一些弯路,希望多多讨论,互相学习。




问题导读:

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的页面
 



http://localhost:8088 hadoop进程管理页面
 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多