zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    Python 中的一些小技巧
    Java/Python/Elixir 正则库使用上的注意事项
    Scrapy 学习笔记(一)数据提取
    记第一次面试
    Spring Web MVC 笔记
    Java 单元测试
    Spring 笔记(四)AOP
    C 语言 进阶
    编程的智慧
    Spring 笔记(三)Bean 装配
  • 原文地址:https://www.cnblogs.com/liuxinan/p/5238287.html
Copyright © 2011-2022 走看看