CentOS 6.4安装hadoop2.6.0分布式详细流程

机器准备:一个CentOS 6.4系统作为master节点,一个CentOS 6.4系统作为node1节点,一个CentOS 6.4系统作为node2节点。master节ResourceManager,node1节点作为namenode和datanode,node2作为SecondaryNameNode和datanode。在虚拟机安装一个CentOS 6.4系统后先试下能不能联网,可以ping 一下百度的网址,ping得通说明就可以联网,安装系统具体的操作网上大把资料,顺利安装一个CentOS 6.4系统后就直接复制系统的整个文件,复制两份然后分别改文件名


改用虚拟机打开的那个图标的名字方便区分

1.安装JDK的部分可以参考一下地址中的安装JAVA环境部分(该部分讲的比较清楚)

http://blog.csdn.net/u012878005/article/details/78930792

2.安装好JDK后,就开始设置master节点与node1和node2节点SSH免密登录,可参考

https://www.cnblogs.com/keitsi/p/5653520.html

3.如果你有在网上看到一些安装教程中的版本跟你要安装的版本不一样,你也可以看下面这个链接,这个链接讲述了Hadoop 1.0.x版本和2.0.x版本安装的不同,还描述了一些后面要修改的配置文的一些参数,在后面修改配置文件也看看,我在安装的时候就是看来很多1.0.x版本的安装,因为1.0.x和2.0.x的变化很大,所以安装的时候有点混乱,所以建议看一看

http://blog.csdn.net/skywalker_only/article/details/38849989

4.设置好SSH免密登录后,就可以开始安装hadoop

(1)在/usr目录下新建Hadoop目录

mkdir hadoop

(2)下载或者上传Hadoop的安装包到/usr/hadoop,然后解压

tar -zxvf hadoop-2.6.0.tar

把解压出来的东西移动到/usr/hadoop目录下

mv /usr/hadoop/hadoop-2.6.0/* /usr/hadoop

删除/usr/hadoop/hadoop-2.6.0空目录

rm -rf /usr/hadoop/hadoop-2.6.0)

(3)设置环境变量

在/etc/profile里面添加以下代码,添加hadoop和Java的相关变量是方便后面的操作,把相关路径添加进PATH变量就可以在系统的任意地方执行该路径下的命令,而不用每次都用绝对路径或者每次都要跑到该路径下执行

export HADOOP_INSTALL=/usr/hadoop
export JAVA_HOME=/usr/java/jdk-8u151-linux-x64/jdk1.8.0_151
export JRE_HOME=/usr/java/jdk-8u151-linux-x64/jdk1.8.0_151/jre
export CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin:$HADOOP_INSTALL/bin

修改后用source etc/profile命令使刚才添加的命令生效

修改/usr/hadoop/etc/hadoop目录下的hadoop-env.sh和yarn-env.sh,把JAVA_HOME变量添加进去,不然后面执行java的相关命令会报错

export JAVA_HOME=/usr/java/jdk-8u151-linux-x64/jdk1.8.0_151

(4)修改配置文件core-site.xml,hdfs-site.xml,mapred-site.xml,yarn-site.xml

PS:mapred-site.xml这个文件在你解压包后的名字是mapred-site.xml.template,所以需要改成mapred-site.xml

修改core-site.xml文件



       fs.defaultFS
       hdfs://node1:8020
 

 
       io.file.buffer.size
       131072
 

 
       hadoop.tmp.dir
       file:/usr/hadoop/tmp
       Abase for other temporary   directories.
 

 
       hadoop.proxyuser.u0.hosts
       *
 

 
       hadoop.proxyuser.u0.groups
       *
 


修改hdfs-site.xml


     
         dfs.namenode.secondary.http-address
         node2:9001
     

     
         dfs.namenode.name.dir
         file:/usr/hadoop/dfs/name
     

     
         dfs.datanode.data.dir
         file:/usr/hadoop/dfs/data
     

     
         dfs.replication
         2
     


修改mapred-site.xml


   
   
           mapreduce.jobhistory.address
           master:10020
   

   
          mapreduce.jobhistory.webapp.address
          master:19888
   

   
          mapreduce.framework.name
          yarn
   


修改yarn-site.xml



       
               yarn.nodemanager.aux-services
               mapreduce_shuffle
       

                                                                       
               yarn.nodemanager.aux-services.mapreduce.shuffle.class
               org.apache.hadoop.mapred.ShuffleHandler
       

       
               yarn.resourcemanager.address
               master:8032
       

       
               yarn.resourcemanager.scheduler.address
               master:8030
       

       
              yarn.resourcemanager.resource-tracker.address
              master:8031
       

       
              yarn.resourcemanager.admin.address
              master:8033
       

       
              yarn.resourcemanager.webapp.address
              master:8088
       


以上修改文件的相关参数可以参考http://blog.csdn.net/skywalker_only/article/details/38849989

(5)修改slaves和masters(因为2.0.x版本没有masters这个文件,所以需要我们手动创建一个touch masters),上面就说过了,要将master节ResourceManager,node1节点作为namenode和datanode,node2作为SecondaryNameNode和datanode,所以要往slaves添加node1和node2,slaves里面默认有个localhost,删除掉localhost,往masters添加node2

slaves


masters


为什么要这样子添加呢,以下截图来自Hadoop权威指南3

CentOS 6.4安装hadoop2.6.0分布式详细流程_第1张图片

所以后面在启动namenode的时候要去node1节点运行脚本start-dfs.sh

(6)格式化namenode,因为我是将node1节点作为namenode,所以hadoop namenode -format这句格式化namenode命令要去node1节点上执行


执行命令后出现一大页的消息,有看successfull format字眼就说明格式化成功了。

(7)启动hadoop

在node1节点的/usr/hadoop/sbin目录下运行start-dfs.sh,启动amenode、SecondaryNameNode和datanode

在master节点的/usr/hadoop/sbin目录先下运行start-yarn.sh,启动ResourceManager

(8)查看是否所有节点都启动成功

master节点


node1节点

CentOS 6.4安装hadoop2.6.0分布式详细流程_第2张图片

node2

CentOS 6.4安装hadoop2.6.0分布式详细流程_第3张图片

一个都没少就说明安装成功了!

你可能感兴趣的:(Hadoop)