Hadoop1.x集群安装部署(VMware)

一、hadoop版本介绍

  不收费的Hadoop版本主要有三个(均是国外厂商),分别是:Apache(最原始的版本,所有发行版均基于这个版本进行改进)、Cloudera版本(Cloudera’s Distribution Including Apache Hadoop,简称 

 CDH)、Hortonworks版本(Hortonworks Data Platform,简称“HDP”),对于国内而言,绝大多数选择CDH版本。

  Cloudera的CDH和Apache的Hadoop对应关系:

  CDH的两个系列版本分别是CDH3和CDH4,CDH3对应Hadoop 1.0(Apache Hadoop 0.20.x、1.x),CDH4对应Hadoop 2.0(Apache Hadoop 0.23.x、2.x)。

本文选择CDH3进行安装测试

Cloudera下载页面:http://archive.cloudera.com/cdh/3/

Hadoop版本:http://archive.cloudera.com/cdh/3/hadoop-0.20.2-CDH3B4.tar.gz

 二、开始安装

  系统版本:CentOS Linux release 7.1.1503 (Core)    

  1、关闭防火墙:部署Hadoop集群时,master与slave的防火墙均要关闭。关闭防火墙的根本目的也是为了图省事儿,因为在使用HDFS与MapReduce时,Hadoop会打开许多监听端口。

  此处参见:http://www.open-open.com/lib/view/open1411818940031.html

  2、创建一个用户

    #新增一个用户组

    groupadd hadoop

    #新增一个用户并设置为hadoop组成员

    useradd -g hadoop hadoop

    #设置hadoop用户密码

    passwd hadoop

  3、解压hadoop

    #切换到hadoop用户,再解压

    su -l hadoop

  4、修改配置

    1)修改hadoop-env.sh

      修改JAVA_HOME

      

    2)修改core-site.xml

      

      说明一:hadoop分布式文件系统文件存放位置都是基于hadoop.tmp.dir目录的,namenode的名字空间存放地方就是 ${hadoop.tmp.dir}/dfs/name, datanode数据块的存放地方就是

                      ${hadoop.tmp.dir}/dfs/data,所以设置好hadoop.tmp.dir目录后,其他的重要目录都是在这个目录下面,这是一个根目录。

      说明二:fs.default.name,设置namenode所在主机,端口号是9000

    3)修改hdfs-site.xml 

        

      dfs.replication,设置数据块的复制次数,默认是3,如果slave节点数少于3,则写成相应的1或者2,副本数设置多余datanode也不会起作用

     4)修改mapred-site.xml

      

      mapred.job.tracker,设置jobtracker所在机器,端口号9001

    5)修改masters和slaves文件

      masters中

      

      slaves中

      

  5、VMware拷贝(略)

  6、配置静态IP

    修改文件 vi /etc/sysconfig/network-scripts/ifcfg-enoxxx

    BOOTPROTO=static #启用静态IP地址

    ONBOOT=yes #开启自动启用网络连接      设置开机启动,一定要记得修改

    IPADDR0=192.168.220.128 #设置IP地址

    PREFIXO0=255.255.255.0 #设置子网掩码

    GATEWAY0=192.168.220.2 #设置网关

    配置host /etc/hosts

    192.168.220.128 master

    192.168.220.129 slave1

    192.168.220.130 slave2

  6、建立SSH互信

    Hadoop集群的各个结点之间需要进行数据的访问,被访问的结点对于访问用户结点的可靠性必须进行验证,hadoop采用的是ssh的方法通过密钥验证及数据加解密的方式进行远程安全登录操作,当然,如果

hadoop对每个结点的访问均需要进行验证,其效率将会大大降低,所以才需要配置SSH免密码的方法直接远程连入被访问结点,这样将大大提高访问效率。

    生成公钥和私钥

    这里密钥的存放位置为:/home/hadoop/.ssh/id_rsa下,之前没有按照此方式存放,造成无验证ssh登录失败。

    ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa

    

    id_rsa是私钥,id_rsa.pub是公钥

    

    公钥重命名

    cp id_rsa.pub authorized_keys

    单机ssh免密码登录测试

    

    要实现主节点(master)免密码登录登录子节点(slave),slave结点的公钥文件中必须要包含主结点的公钥信息(注:slave节点要各自进行一次密钥生成过程(ssh-keygen))。

    scp authorized_keys hadoop@slave1:/home/hadoop/.ssh/

    

    验证一下

    

    master免密码登录slave1成功

    相同的方式,将master的公钥拷贝到slave2节点

    scp authorized_keys hadoop@slave2:/home/hadoop/.ssh/

  7、运行hadoop

    1)配置环境变量

    2)在主节点格式化:hadoop namenode -format

      3)启动start-all.sh

 

      4)检查主节点进程

        

      5)检查两个slave节点

        

     至此,所有进程启动成功。

  8、通过浏览器访问检查集群情况

    http://192.168.220.128:50030/jobtracker.jsp

    http://192.168.220.128:50070/dfshealth.jsp

posted @ 2016-03-06 17:36  小N~  阅读(447)  评论(0编辑  收藏  举报