大数据生态圈HadoopHadoop系

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

2017-10-17  本文已影响68人  z小赵

      说在前头的一些东西,关于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文件,编辑内容如下:

<property>

        <name>fs.defaultFS</name>

        <value>hdfs://hadoop01:8020</value>

</property>

<property>

         <name>hadoop.tmp.dir</name>

         <value>/home/shiluo/softwares/hadoop-2.5.0/data/tmp</value>

</property>

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

<property>

        <name>fs.trash.interval</name>

        <value>1440</value>

</property>


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

#配置secondarynamenode

<property>

        <name>dfs.namenode.secondary.http-address</name>

        <value>hadoop03:50090</value>

</property>


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


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

<property>

          <name>yarn.resourcemanager.hostname</name>

          <value>hadoop02</value>

</property>

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

<property>

        <name>yarn.nodemanager.aux-services</name>

        <value>mapreduce_shuffle</value>

</property>

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

<property>

         <name>yarn.nodemanager.resource.memory-mb</name>

         <value>4096</value>

</property>

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

<property>

        <name>yarn.nodemanager.resource.cpu-vcores</name>

        <value>4</value>

<property>

#添加日志聚集功能

<property>

        <name>yarn.log-aggregation-enable</name>

        <value>true</value>

</property>

#日志可以存放的时间

<property>

        <name>yarn.log-aggregation.retain-seconds</name>

        <value>640800</value>

</property>


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

<property>                        

         <name>mapreduce.framework.name</name>

         <value>yarn</value>

</property>

<property>

         <name>mapreduce.jobhistory.address</name>

         <value>hadoop01:10020</value>

</property>

<property>

         <name>mapreduce.jobhistory.webapp.address</name>

         <value>hadoop01:19888</value>

</property>


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

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

上一篇下一篇

猜你喜欢

热点阅读