Hadoop CDH4.5前期基础环境准备介绍

       Hadoop的发行版除了社区的Apache hadoop外,cloudera,hortonworks,mapR,EMC,IBM,INTEL,华为等等都提供了自己的商业版本。商业版主要是提供了专业的技术支持,这对一些大型企业尤其重要。2008 年成立的 Cloudera 是最早将Hadoop商用的公司,为合作伙伴提供Hadoop的商用解决方案。Cloudera产品主要为CDH,Cloudera Manager,Cloudera Support。

        1    CDH是Cloudera的hadoop发行版,完全开源,比Apache hadoop在兼容性,安全性,稳定性上有增强。

        2    Cloudera Manager是集群的软件分发及管理监控平台,可以在几个小时内部署好一个hadoop集群,并对集群的节点及服务进行实时监控。

        3    Cloudera Support即是对hadoop的技术支持,cloudera的标价为每年每个节点4000美元。

        目前cloudera的hadoop发行版已经到CDH5了,不过为了和已有的CDH4集中方便管理,所以接下来的文章都是以CDH 4.5.0为基础的。Cloudera推出的CDH4突出的新特性包括以下三方面:

        1    High Availability/HA

                这主要包括Name Node High Availability,以及允许在同一个Cluster里运行CDH3和CDH4

        2    Security

                除了已经 为HDFS提供的Kerberos,现在可以允许对HBase的表和列进行访问控制;另外,CDH4加入了对Fair Scheduler ACL的支持,对管理和递交到Fair Scheduler Pool的作业进行控制。以往像张三那样可以随心所欲地把作业递交到李四pool里的日子可能一去不复返了

        3    Extensibility

                主要是通过加入co-processor和YARN,允许用户运行更多定制的程序和使用不同的计算平台。

        从CDH4开始,版本号命名格式为CDH X.Y.Z。其中X是主版本号,意味着重大变更;Y是次版本号,类似于之前的“update”版本号;Z是点版本号,对应于一些critical fixes。

                

           关于cloudera的介绍就上面那么多,更多信息可以阅读cloudera官网

下面我就从零开始捣鼓起Hadoop了,CDH版本选用4.5.0,操作系统为ubuntu12.04,总共五台Kvm虚拟机,开始慢慢折腾路......

节点IP及功能信息如下:

IP              Hostname      MRv1          HDFS        YARN
192.168.1.10     U-1       Jobtracker      Namenode      RM
192.168.1.20     U-2       Tasktracker     Datanode      NM
192.168.1.30     U-3       Tasktracker     Datanode      NM
192.168.1.40     U-4       Tasktracker     Datanode      NM
192.168.1.50     U-5       Tasktracker     Datanode      NM
1    因为Hadoop的运行依赖java环境,所以在所有机器安装Oracle Java7。

apt-get install software-properties-common python-software-properties
add-apt-repository ppa:webupd8team/java
apt-get update
apt-get install oracle-java7-installer

        为啥强调Oracle Java7呢?在linux下你除了选择Oracle JDK外,还可以选择openjdk系列,jdk版本最好使用7。之前都是使用openjdk的,这次换个Oracle jdk试试。Oracle jdk6在之前是可以在各个linux发行版用包管理工具直接安装的,但是在jdk7的时候在官方不再提供了,所以只能使用外部源来通过包管理工具安装jdk7了。上面的安装过程比较慢,得十几分钟,你也可以直接在官网下载tar包来安装,我这种懒人必然是选择apt来安装了。 


2    在U-1机器可以ssh无密码登陆其他四台机器

        在U-1上执行ssh-keygen命令,一路回车,不用填写信息,把~/.ssh/id_rsa.pub文件拷贝到U-2/3/4/5的相关用户的.ssh/authorized_keys文件中。authorized_keys文件默认没有,需要自己手动创建。因为hadoop程序在和各个节点通讯同步信息时需要该功能。

Hadoop CDH4.5前期基础环境准备介绍

3    关于安装CDH4的方法,多种多样,一般有如下:

        1    使用cloudera manager来自动化安装,web界面很炫

        2    一键安装方法也有三种:

                1    使用官方的CDH4 repo

                2    构建你自己的CDH4 repo,可以从官方仓库来同步

                3    使用官方的CDH4 tar包来安装,由于hadoop组件很多,所以包比较大,2G多。

        我嘛,肯定使采用官方repo来安装了,后期上规模后可以搭建自己的repo。

4    从官网下载cdh4-repository,里面包含了apt源信息,然后

dpkg -i  cdh4-repository_1.0_all.deb
#官方源信息加入apt配置文件后,因为默认安装版本是4,而我们需要cdh4.5.0,所以在cdh4后面加上4.5.0的版本号,从而指定安装4.5.0版本,嘿嘿官方支持这个功能,通过版本号指定要安装的版本
vi /etc/apt/sources.list.d/cloudera-cdh4.list    
    deb [arch=amd64] http://archive.cloudera.com/cdh4/ubuntu/precise/amd64/cdh precise-cdh4.5.0 contrib
    deb-src http://archive.cloudera.com/cdh4/ubuntu/precise/amd64/cdh precise-cdh4.5.0 contrib
curl -s http://archive.cloudera.com/cdh4/ubuntu/precise/amd64/cdh/archive.key | sudo apt-key add -
apt-get update

5    Hadoop主要由HDFS+MapReduce两个组件构成,在CDH4中已经开始支持下一代的MapReduce(MRv2/YARN),也就是你可以搭建HDFS+MRv1或者HDFS+YARN两种架构的平台。

        5.1    关于mapreduce的版本

                    new mapreduce2.0(MRv2)-->YARN
                    old mapreduce-->MRv1

        5.2    它们的区别如下(默认调度规则不一样):

                    MRv1:

                        – Cloudera Manager sets the default to Fair Scheduler.

                        – CDH4 sets the default to Fair Scheduler, with FIFO and Fair Scheduler on the classpath by default.
                    MRv2(YARN):

                        – Cloudera Manager sets the default to FIFO.

                        – CDH4 sets the default to FIFO, with FIFO, Fair Scheduler, and Capacity Scheduler on the classpath by default.

        5.3    HDFS+MRv1中各个组件的名称及安装方法            

#组件                                                 安装命令                                                                  组件所属平台        
 JobTracker                                apt-get install  hadoop-0.20-mapreduce-jobtracker                                    MRv1
 NameNode                                  apt-get install  hadoop-hdfs-namenode                                                HDFS
 Secondary NameNode                        apt-get install  hadoop-hdfs-secondarynamenode                                       HDFS
 TaskTracker/DataNode                      apt-get install  hadoop-0.20-mapreduce-tasktracker  hadoop-hdfs-datanode             MRv1、HDFS
 Hadoop client                             apt-get install  hadoop-client                                                    

                1    MRv1版本目前支持NameNode和JobTracker的HA方案,后面会有篇幅专门讲解,YARN在CDH4中暂时不支持HA。

                2    部署NameNode,Secondary NameNode和JobTracker程序时,一般遵守以下规则:

                        1    NameNode和JobTracker一般运行在同一台机器上,除非你的集群非常大。 在NameNode和JobTracker节点上不应该运行Secondary NameNode,DataNode和TaskTracker服务

                        2    在一个大的集群中,Secondary NameNode服务使有必要和NameNode服务运行在不同的机器上的,注意Secondary NameNode并不是NameNode的热备,不要被名字迷惑。它只是阶段性的合并edits和fsimage,以缩短集群启动的时间。当NameNode失效的时候,Secondary NameNode并无法立刻提供服务,Secondary NameNode甚至无法保证数据完整性:如果NameNode数据丢失的话,在上一次合并后的文件系统的改动会丢失。

                        3    集群中的机器除了NameNode和JobTracker外,都需要运行 DataNode和 TaskTracker 

                            注意:如果你要为NameNode设置HA方案,请不要安装hadoop-hdfs-secondarynamenode。

                            注意:YARN && MRv1  你可以把两个版本的mapreduce安装到同一个节点上,但是在任意时刻你只能启动其中某一个版本。

        5.4    HDFS+YARN中各个包的名称及安装方法  

#组件                                                    安装命令                                                                         组件所属平台
 Resource Manager(JobTracker)                   apt-get install  hadoop-yarn-resourcemanager                                                YARN
 NameNode                                       apt-get install  hadoop-hdfs-namenode                                                       HDFS
 Secondary NameNode                             apt-get install  hadoop-hdfs-secondarynamenode                                              HDFS
 DataNode/Node Manager(TaskTracker)             apt-get install  hadoop-yarn-nodemanager  hadoop-hdfs-datanode hadoop-mapreduce             HDFS/YARN
 HistoryServer/ProxyServer                      apt-get install  hadoop-mapreduce-historyserver  hadoop-yarn-proxyserver                    YARN
 Hadoop client                                  apt-get install  hadoop-client
                MRv2介绍: 

                    MapReduce Version 2, 简称MRv2,也被称为YARN,起始于Hadoop 0.23分支。使用CDH4,可以选择运行MRv1或者MRv2,但两者不能在一个集群里同时运行。MRv2 和新旧MapReduce API 没有关系,仅指MapReduce体系结构上的变化。MRv1和MRv2应用在源代码上是兼容的。这意味着以前为MRv1编写的MapReduce程序不需要改写。但如果需要运行在CDH4部署的系统上,不管选择运行MRv1还是MRv2,都需要重新编译生成代码。需要提请注意的是,Cloudera recommends that you use MRv1 unless you have particular reasons for using MRv2, which should not be considered production-readyYARN在CDH4中还不建议上生产环节(只是官方的建议),但是CDH5已经出来很久了,也支持有YARN的HA方案,所以如果要用YARN就用CDH5吧。我这是由于历史原因才使用CDH4的。

                    在MRv1里的一个Job,在MRv2 里则被称为一个Application。  每个Cluster拥有一个Resource Manager。每个Node则运行一个Node Manager,来监控和管理该节点上的资源使用情况。在运行Job的时候,和MRv1相似,每Node运行Map和Reduce Task。对应每个Job(application),有一个Application Master(运行在某个Node上),负责管理application的生命周期,向resource manager申请资源,以及监控task的状态等(譬如重启出错任务)。这种体系结构相当于解脱了MRv1 里JobTracker繁忙的管理所有资源及调度管理Job/Task状态的职责,使得MRv2能支持在更大的集群上运行更多的MapReduce应用。

6    最后的基础检查工作

        1    确保U-1可以无密码ssh登陆其他机器

        2    确保五台机器时间一致,可以部署NTP服务

        3    确保五台机器对域名的解析一致,一般采用手动修改/etc/hosts文件,本集群如下:

192.168.1.10    U-1
192.168.1.20    U-2
192.168.1.30    U-3
192.168.1.40    U-4
192.168.1.50    U-5
7    这样基础环境的配置就已经OK了。


你可能感兴趣的:(Hadoop CDH4.5前期基础环境准备介绍)