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文件

<configuration>
<property>
       <name>fs.defaultFS</name>
       <value>hdfs://node1:8020</value>
  </property>
  <property>
       <name>io.file.buffer.size</name>
       <value>131072</value>
  </property>
  <property>
       <name>hadoop.tmp.dir</name>
       <value>file:/usr/hadoop/tmp</value>
       <description>Abase for other temporary   directories.</description>
  </property>
  <property>
       <name>hadoop.proxyuser.u0.hosts</name>
       <value>*</value>
  </property>
  <property>
       <name>hadoop.proxyuser.u0.groups</name>
       <value>*</value>
  </property>
</configuration>

修改hdfs-site.xml

<configuration>
     <property>
         <name>dfs.namenode.secondary.http-address</name>
         <value>node2:9001</value>
     </property>
     <property>
         <name>dfs.namenode.name.dir</name>
         <value>file:/usr/hadoop/dfs/name</value>
     </property>
     <property>
         <name>dfs.datanode.data.dir</name>
         <value>file:/usr/hadoop/dfs/data</value>
     </property>
     <property>
         <name>dfs.replication</name>
         <value>2</value>
     </property>
</configuration>

修改mapred-site.xml

<configuration>
   
   <property>
           <name>mapreduce.jobhistory.address</name>
           <value>master:10020</value>
   </property>
   <property>
          <name>mapreduce.jobhistory.webapp.address</name>
          <value>master:19888</value>
    </property>
   <property>
          <name>mapreduce.framework.name</name>
          <value>yarn</value>
   </property>
</configuration>

修改yarn-site.xml

<configuration>
<!-- Site specific YARN configuration properties -->
       <property>
               <name>yarn.nodemanager.aux-services</name>
               <value>mapreduce_shuffle</value>
       </property>
       <property>                                                                
               <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
               <value>org.apache.hadoop.mapred.ShuffleHandler</value>
       </property>
       <property>
               <name>yarn.resourcemanager.address</name>
               <value>master:8032</value>
       </property>
       <property>
               <name>yarn.resourcemanager.scheduler.address</name>
               <value>master:8030</value>
       </property>
       <property>
              <name>yarn.resourcemanager.resource-tracker.address</name>
              <value>master:8031</value>
       </property>
       <property>
              <name>yarn.resourcemanager.admin.address</name>
              <value>master:8033</value>
       </property>
       <property>
              <name>yarn.resourcemanager.webapp.address</name>
              <value>master:8088</value>
       </property>
</configuration>

以上修改文件的相关参数可以参考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


所以后面在启动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节点


node2


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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值