CDH4简介

原文地址:CDH4简介 作者:HadoopChina

We believe that during 2012, enterprise distributions of Hadoop will mature enough that enterprises will accelerate production deployments and begin to yield  tangible organizational value.

— Ben Woo, VP, Storage and Big Data, IDC

 

随着大数据之说日渐人心,越来越来多的企业把目光投向了Hadoop,希望采用Hadoop来建立其数据驱动平台。因此,如何让Hadoop能更好地满足企业需求,就成为众多Hadoop产商争夺用户的焦点。

一般来说,企业的需求体现在如下几个方面:

-和企业已有的IT系统的结合,以保护企业已有的投资。

-数据和访问安全性,保护商业价值

-可扩展性,允许系统随着企业需求的增长而增长,而无需一次性投入建立一个庞大的系统

-高可靠性,尽量降低或消除down time

- 简易的安装和部署,目前Hadoop人才紧缺,经验普遍欠缺,而系统往往涉及大量的软硬件资源,如何降低管理成本,同时又能达到最优的系统性能,非常关键

-高质量和快速的支持和服务

对此,ClouderaHortonworks这两家提供100%开源Hadoop发行版的公司都在于近期结束的Hadoop Summit召开之前及时推出了其Hadoop产品和解决方案。Cloudera推出了CDH4 GA (General Availability)以及Cloudera Enterprise 4,而Hortonworks则推出了Hortonworks Data Platform 1.0 。这显示了2012年将是Hadoop企业版走向成熟的一年,也将是Hadoop厂商一决雌雄的关键一年。奇怪的是,我注意到,作为纯Hadoop厂商三驾马车之一的MapR这一次却在Hadoop Summit召开期间及前后没有推出更新的稳定版本;更加费解的是,他们也没有派出Speaker参加Summit做主题演讲或技术产品报告,听由这次Summit变成ClouderaHortonworks两家你唱罢我登台的走秀场(两个公司在这次峰会上均有多达10人左右的speaker )。但愿这可能是由于其产品开发档期不同,或者是由于其忙于推出Hadoop-as-a-service而不代表MapR退出Hadoop发行版的竞争(update: MapR于28日公布了和Google合作-在Google Compute Engine上部署运行MapR,加上不久前MapR公布的和Amazon的合作,看来其市场策略更偏重于在云服务市场上的竞争。不过,这些市场应该在可以预见的相当长的时间里跟绝大多数国人无关,至少在争夺中国这个大市场上,是不是意味着MapR拜GFW所赐输在了起跑线上呢)。

作为Hadoop领域里的“老大”和生力军,Cloudera新近推出的CDH4突出的新特性包括以下三方面:

- High Availability/HA

这主要包括Name Node High Availability,以及允许在同一个Cluster里运行CDH3和CDH4(所谓的"Heterogeneous Cluster")。

- Security

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

- Extensibility

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

 

下面对CDH4 GA版的更新做一些概括性的介绍,详细信息可以参考Cloudera网站上的相应文档,下面是其相关Blog报道http://www.cloudera.com/blog/2012/06/cdh4-and-cloudera-enterprise-4-0-now-available

  • 新的版本号

CDH4采用了新的版本记法。在CDH4之前,CDH按照CDHxUy来命名,譬如CDH3u0, CDH3u1等等。从CDH4开始,版本号命名格式为CDH X.Y.Z。其中X是主版本号,意味着重大变更;Y是次版本号,类似于之前的“update”版本号;Z是点版本号,对应于一些critical fixes。下面是CDH4发行版所包括的组件版本号。

 

Component

Description

CDH3u4 Version

CDH4u0 Version

Apache Hadoop

Reliable, scalable distributed storage and computing

hadoop-0.20.2+923.256

hadoop-2.0.0+73

HDFS

The Hadoop Distributed File System

hadoop-0.20.2+923.256

hadoop-2.0.0+73

Fuse-DFS

Module for mounting HDFS as a traditional file system

hadoop-0.20.2+923.256

hadoop-2.0.0+73

MapReduce

Distributed computing framework for Apache Hadoop

hadoop-0.20.2+923.256

mr1-0.20.2+1213

MapReduce 2

The next-generation of the MapReduce framework

--

hadoop-2.0.0+73

Hadoop Common

A set of utilities that support the Hadoop subprojects

hadoop-0.20.2+923.256

hadoop-2.0.0+73

Apache Flume

Distributed service for collecting and aggregating log and event data

flume-0.9.4+25.43,

flume-1.1.0

flume-1.1.0

Apache HBase

Scalable record and table storage with real-time read/write access

hbase-0.90.6+84.29

hbase-0.92.1+37

Apache Hive

SQL-like language and metadata repository

hive-0.7.1+42.43

hive-0.8.1+59

Apache Mahout

Library of machine learning algorithms for Hadoop

mahout-0.5+9.5

mahout-0.6+15

Apache Oozie

Workflow engine to coordinate Hadoop activities

oozie-2.3.2+27.19

oozie-3.1.3+153

Apache Pig

High-level data flow language

pig-0.8.1+28.32

pig-0.9.2+25

Apache Sqoop

Data transport engine for integrating Hadoop with relational databases

sqoop-1.3.0+5.76

sqoop-1.4.1+27

Apache Whirr

Library for deploying and running Hadoop in the cloud

whirr-0.5.0+4.12

whirr-0.7.1+14

Apache Zookeeper

Highly-reliable distributed coordination service

zookeeper-3.3.5+19.1

zookeeper-3.4.3+14

Hue

Browser-based interface for interacting with Hadoop

hue-1.2.0.0+114.35

hue-2.0.0+49

 

  • 很多属性被重新命名

譬如fs.default.name现在变成了fs.defaultFS。不过不用担心的是,老的名字还能继续被使用。 

 

  • 包含Flume NG

CDH4及以后版本将主打Flume NG (next generation Flume)Flume NG被重新设计和改写,极大地降低了内存的消耗。目前CDH4仍然包含Flume OG(original Flume),不过将逐渐被淘汰掉。需要注意的是,Flume NGFlume OGAPI上是不兼容的。

 

  • Name Node Federation

NameNode Federation 允许配置多个name space在多个Name Node上,而这些Name Node之间是相互独立的,不互相通信。这给Hadoop集群带来了更好的伸缩性,更好的性能和容错性。在客户端则可以通过ViewFS从多个Name Space中选取全部或者部分来组建所需的文件系统视图来使用HDFS。这好比在Linux 系统中使用/etc/fstab来安装文件系统到当前运行的系统中。

譬如在下图中,可能有两个Name Node,第一个负责/users,另一个负责/reports。而所有Name Node存储的实际数据(block)则可以存储在任意一个slave node上,也就是说所有的slave nodes为所有的Name Nodes所共享。

[转载]CDH4简介

  • Name Node HA (High Availability)

以前版本里的Name NodeSPOFSingle Point Of Failure)。CDH4则包含了Apache Hadoop 0.23.x引进的HDFS HA特性。通过部署两个Name Node,一个active,另一个standbyHDFS客户(包括Data Node )只与active NN联系,standby NN仍然给active NNCheck Pointing (所以Secondary Name Node不再需要了),同时通过维护active NN的状态来在active NN失效的情况下接管active NN的角色。CDH4支持两种FailOver,自动和手动。

[转载]CDH4简介

值得提出的是,Name Node HAName Node Federation是不互相牵制的。你可以只有HA或者只有Federation,也可以两个都配置。

 

  • MRv2

MapReduce Version 2, 简称MRv2,也被称为YARN (Yet Another Resource Negotiator),起始于Hadoop 0.23分支。使用CDH4,可以选择运行MRv1或者MRv2,但两者不能在一个集群里同时运行。MRv2 和新旧MapReduce API 没有关系,仅指MapReduce体系结构上的变化。MRv1MRv2应用在源代码上是兼容的。这意味着以前为MRv1编写的MapReduce程序不需要改写。但如果需要运行在CDH4部署的系统上,不管选择运行MRv1还是MRv2,都需要重新编译生成代码。需要提请注意的是,MRv2 目前还不是Production Ready,所以不要用于生产环境。

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

[转载]CDH4简介

MRv2重新设计了MapReduce的体系结构,其设计目的是不仅仅支持运行MapReduce,还支持很多其他计算系统,包括有:

Hamster: MPI @ Hadoop

Hama: Bulk Synchronous Parallel (BSP) processing

Giraph: Graph processing framework

当然,以上只是一些简介,更多的了解可以参考Cloudera网站,并下载和实际使用CHD4。

最后,Cloudera把CH4+CM4(Cloudera Manager)号称为最完整最先进的基于Hadoop的企业解决方案,所以,我就顺带简单列举一下作为Hadoop安装部署和管理监控工具的CM4的几个优势,供参考。

-易用性

3-step HA configuration

Multi-cluster management

Backward compatibility

- 功能强大

Heatmaps

Federated NN management

- 易于扩充和集成

Cloudera manager API

LDAP authentication,login against Active Directory

etc.

你可能感兴趣的:(hadoop,CDH4)