hadoop2.5.0完全分布式环境搭建(亲测有效)

      说在前头的一些东西,关于Linux本身环境本身的一些处理见如下链接,主要是讲Hadoop环境的前期准备:http://www.jianshu.com/p/d8720d0828dd

一.环境:

     java:   jdk1.7.0_80

     Linux:  CentOS6.5

     Hadoop:  hadoop-2.5.0

二.集群规划:

Hadoop01                                   Hadoop02                                  Hadoop03

namenode                                           

datanode                                     datanode                                    datanode

nodemanager                             nodemanager                             nodemanager

                                                      resourcemanager

                                                                                                   secondarynamenode

三.按如下步骤依次操作各个文件:

1.启动文件,修改这三个文件的JAVVA_HOEM变量:

        hadoop-env.sh

        yarn-env.sh

        mapred-env.sh


2.修改core-site.xml文件,编辑内容如下:

        fs.defaultFS

        hdfs://hadoop01:8020

         hadoop.tmp.dir

         /home/shiluo/softwares/hadoop-2.5.0/data/tmp

#该参数代表从HDFS上删除的文件暂存的时间(60 * 24)

        fs.trash.interval

        1440


3.修改hdfs-site.xml文件,编辑如下内容:

#配置secondarynamenode

        dfs.namenode.secondary.http-address

        hadoop03:50090


4.修改slave文件,将集群需要部署datanode进程节点的hostname写入该文件


5.修改yarn-site.xml文件,编辑如下内容:

          yarn.resourcemanager.hostname

          hadoop02

#NodeManager上运行的附属服务,该参数是为了可以运行mapreduce程序

        yarn.nodemanager.aux-services

        mapreduce_shuffle

#nodemanager可使用的内存,默认是8G

         yarn.nodemanager.resource.memory-mb

         4096

#nodemanager可以使用的虚拟CPU个数

        yarn.nodemanager.resource.cpu-vcores

        4

#添加日志聚集功能

        yarn.log-aggregation-enable

        true

#日志可以存放的时间

        yarn.log-aggregation.retain-seconds

        640800


6.修改mapred-site.xml文件(改文件默认是不存在的,把mapred-site.xml.template文件修改即可),编辑如下内容:

                       

         mapreduce.framework.name

         yarn

         mapreduce.jobhistory.address

         hadoop01:10020

         mapreduce.jobhistory.webapp.address

         hadoop01:19888


7.至此,全部配置完成,在分发之前将share下面的doc目录删掉,增加分发的速度,使用如下命令进行分发任务

scp -r hadoop-2.5.0 hadoop02:/home/shiluo/software/

scp -r hadoop-2.5.0 hadoop03:/home/shiluo/software/


8.在Hadoop01这台机器上执行如下命令进行格式化:

bin/hdfs  namenode -format


好,到这里基本上大功告成,然后启动进程,做一些基本的测试(例如:文件的上传,下载,读取等等操作),试试集群是否能够正常工作,下面介绍几个集群搭建出现的问题。


问题一:namenode进程不能正常启动?

解决办法:查看namenode的启动日志,

                  ①.一般是namenode配置有问题,仔细核对core-site.xml和hdfs-site.xml文件

                  ②.第二种情况是多次格式化namenode造成的,需要删除集群中每台节点/tmp目录下的所有东西,还有hadoop.tmp.dir目录下的东西,即可解决。


问题二:启动集群后,datanode没有正常启动?

解决办法:查看namenode的启动日志发现,出现了端口被占用的情况导致datanode没有正常启动,使用 netstat -anp | grep 端口号  命令查到进程号kill掉,在启动集群即可解决。



至此,集群搭建全部讲解完毕,预祝各位朋友可以搭建成功;下一篇将介绍在此基础上如何搭建出一个高可用的(HA),同时具有Failover(故障自动转移)功能的分布式集群。

Hadoop2.5.0 HA构建 链接:

http://www.jianshu.com/p/302ab34c8a80

如需转载,请注明出处,谢谢!!

你可能感兴趣的:(hadoop2.5.0完全分布式环境搭建(亲测有效))