Hadoop集群安装(七)--------Hadoop2.6.0集群安装

  所有的机器上都要安装hadoop,现在就先在Master服务器安装,然后其他服务器按照步骤重复进行即可。安装和配置hadoop需要以"hadoop"的身份进行。

一、Master上安装hadoop

  解压hadoop安装包

  

  删除安装文件   rm hadoop-2.6.0.tar.gz

  修改配置文件:一共有7个文件要修改

  $HADOOP_HOME/etc/hadoop/hadoop-env.sh

  $HADOOP_HOME/etc/hadoop/yarn-env.sh

  $HADOOP_HOME/etc/hadoop/core-site.xml

  $HADOOP_HOME/etc/hadoop/hdfs-site.xml

  $HADOOP_HOME/etc/hadoop/mapred-site.xml

  $HADOOP_HOME/etc/hadoop/yarn-site.xml

  $HADOOP_HOME/etc/hadoop/slaves

  其中$HADOOP_HOME表示hadoop根目录,本文中默认为/home/hadoop/hadoop-2.6.0

  

  配置文件1:hadoop-env.sh

  该文件是hadoop运行基本环境的配置。需要修改JAVA_HOME的配置,改成实际本机JDK所在目录位置。

  

  另外 hadoop-env.sh中 , 建议加上这句:export HADOOP_PREFIX=/home/hadoop/hadoop-2.6.0

  

  配置文件2:yarn-env.sh

  该文件是yarn框架运行环境的配置,同样需要修改JAVA_HOME的配置,改成实际本机JDK所在目录位置。

  

  配置文件3:slaves

  该文件里面保存所有slave节点的信息,以本篇为例写入以下内容(hosts里从机的主机名):slave01,slave02

  

  

  配置文件4: core-site.xml

  这个是hadoop的核心配置文件,这里需要配置的就这两个属性,fs.default.name(hadoop2.2.0以后采用新的属性名:fs.defaultFS)配置了hadoop的HDFS系统的命名,位置为主机master的9000端口;hadoop.tmp.dir配置了hadoop的tmp目录的根位置。这里使用了一个文件系统中没有的位置,所以要先用mkdir命令新建一下。

属性”fs.defaultFS“表示NameNode节点地址,由”hdfs://主机名(或ip):端口号”组成。

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

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

  

  配置文件5: hdfs-site.xml

  这个是hdfs的配置文件,dfs.http.address配置了hdfs的http的访问位置;dfs.replication配置了文件块的副本数,一般不大于从机slave的个数。

  属性“dfs.namenode.name.dir”表示NameNode存储命名空间和操作日志相关的元数据信息的本地文件系统目录,该项默认本地路径为”/tmp/hadoop-{username}/dfs/name”;

  属性”dfs.datanode.data.dir“表示DataNode节点存储HDFS文件的本地文件系统目录,由”file://本地目录”组成,该项默认本地路径为”/tmp/hadoop-{username}/dfs/data”。

  属性“dfs.namenode.secondary.http-address”表示SecondNameNode主机及端口号(如果无需额外指定SecondNameNode角色,可以不进行此项配置);

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
       <property>
              <name>dfs.namenode.secondary.http-address</name>
              <value>master:9001</value>
       </property>
     <property>
             <name>dfs.namenode.name.dir</name>
             <value>file:/home/hadoop/dfs/name</value>
      </property>
      <property>
              <name>dfs.datanode.data.dir</name>
              <value>file:/home/hadoop/dfs/data</value>
       </property>
       <property>
               <name>dfs.replication</name>
               <value>3</value>
        </property>
        <property>
               <name>dfs.webhdfs.enabled</name>
               <value>true</value>
         </property>
</configuration>

 

  配置文件6:mapred-site.xml 

  这个是mapreduce任务的配置,由于hadoop2.x使用了yarn框架,所以要实现分布式部署,必须在mapreduce.framework.name属性下配置为yarn。mapred.map.tasks和mapred.reduce.tasks分别为map和reduce的任务数,至于什么是map和reduce,可参考其它资料进行了解。
  默认情况下mapred-site.xml不存在,我们需要复制mapred-site.xml.template,并重新命名为mapred-site.xml。

cp mapred-site.xml.template mapred-site.xml

 

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration> 
          <property>
<name>mapreduce.framework.name</name>
                <value>yarn</value>
           </property> 
          <property>
                  <name>mapreduce.jobhistory.address</name>
                  <value>master:10020</value>
          </property>
          <property>
                <name>mapreduce.jobhistory.webapp.address</name>
                <value>master:19888</value>
       </property> 
</configuration>

 

  配置文件7:yarn-site.xml

  该文件为yarn框架的配置,主要是一些任务的启动位置。

  属性”yarn.nodemanager.aux-service“表示MR applicatons所使用的shuffle工具类。

<?xml version="1.0"?>
<configuration>
        <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> 

 

二、将master上配置好的haoop整个目录拷贝到其他slave机器上。

scp -r hadoop2.6.0 hadoop/@slave01:/home/hadoop

 

三、关闭所有机器的防火墙

service iptables stop    关闭防火墙
chkconfig iptables off 关闭防火墙开机启动
service iptables status 查看防火墙状态

 

四、添加HADOOP_HOME环境变量

  

五、格式化NameNode

  一定要使用hadoop用户格式化

  格式化命令:hdfs namenode -format

  

六、启动HDFS:start-dfs.sh

此时在master上面运行的进程有:namenode  secondarynamenode

slave节点上面运行的进程有:datanode

七、启动yarn:start-yarn.sh

slave1有如下进程

此时hadoop集群已全部配置完成!!!

http://master:8088/

posted @ 2016-01-07 22:28  lvxin  阅读(459)  评论(0编辑  收藏  举报