初识Hadoop
1 Hadoop概述
Hadoop项目作者的孩子给一个棕黄色的大象样子的填充玩具的命名。
Hadoop能做什么
搭建大型数据仓库,PB级数据的存储、处理、分析、统计等业务
Hadoop核心组件 - 分布式文件系统HDFS
源于Google的GFS论文,发表于2003.10。HDFS是GFS的克隆版
HDFS特点:扩展性&容错性&海量数量存储
将文件切分成指定大小的数据块,并以多副本的存储在多个机器上。数据切分、多副本、容错等操作对用户是透明的。
Block Replication
代码语言:scala复制Namenode(Filename, numReplicas, block-ids, ..)
/users/javaedge/data/part-0, r:2, {1,3},...
/users/javaedge/data/part-1, r:3, {2,4,5},...
Datanodes:
Hadoop核心组件 - 资源调度系统YARN
Yet Another Resource Negotiator,Hadoop 的集群资源管理系统。 YARN 在 Hadoop 2 中被引入以改进 MapReduce 实现,但它也足以支持其他分布式计算范例。
特点:扩展性&容错性&多框架资源统一调度。
YARN 提供了用于请求和使用集群资源的 API,但这些 API 通常不被用户代码直接使用。相反,用户写入分布式计算框架提供的更高级别的 API,这些框架本身构建在 YARN 之上,并对用户隐藏资源管理细节。这种情况如下图所示,一些分布式计算框架(MapReduce、Spark 等)作为 YARN 应用程序在集群计算层(YARN)和集群存储层(HDFS 和 HBase)上运行。
YARN applications:
Hadoop核心组件之分布式计算框架MapReduce
源自于Google的MapReduce论文,发表于2004年12月。MapReduce是Google MapReduce的克隆版
MapReduce特点:扩展性&容错性&海量数量离线处理
Hadoop优势之高可靠性
- 数据存储:数据块多副本
- 数据计算:重新调度作业计算
Hadoop优势之高扩展性
- 存储/计算资源不够时,可以横向的线性扩展机器
- 一个集群中可以包含数以干计的节点
Hadoop优势之其他
存储在廉价机器上,降低成本
成熟的生态圈
狭义Hadoop V.S 广义Hadoop
狭义的Hadoop:是一个适合大数据分布式存储( HDFS )、分布式计算(MapReduce)和资源调度( YARN )的平台。
- 广义的Hadoop
指的是Hadoop生态系统,Hadoop生态系统是一个庞大概念,hadoop是其中最重要最基础的一个部分;生态系统中的每一子系统只解决某一个特定的问题域 (甚至可能很窄),不搞统一型的一个全能系统,而是小而精的多个小系统。
Hadoop生态系统的特点
- 开源、社区活跃
- 囊括了大数据处理的方方面面
- 成熟的生态圈
Hadoop常用发行版及选型
- Apache Hadoop
- CDH : Cloudera Distributed Hadoop
- HDP : Hortonworks Data Platform