Hadoop3.13概述与分而治之思想

一、Hadoop的发展史

图解

Hadoop三大开源发行版本:Apache、Cloudera(CDH)、Hortonworks(HDP)。Apache版本最原始(最基础)的版本,对于入门学习最好。Cloudera在大型互联网企业中用的较多。Hortonworks文档较好。

  • Apache Hadoop

官网地址:https://hadoop.apache.org/

下载地址:https://hadoop.apache.org/release.html

  • Cloudera Hadoop

官网地址:https://www.cloudera.com/downloads/cdh.html
​> 下载地址:https://docs.cloudera.com/documentation/enterprise/6/release-notes/topics/rg_cdh_6_download.html
1)2008年成立的Cloudera是最早将Hadoop商用的公司,为合作伙伴提供Hadoop的商用解决方案,主要是包括支持、咨询服务、培训。
​2)2009年Hadoop的创始人Doug Cutting也加盟Cloudera公司。Cloudera产品主要为CDH,Cloudera Manager,Cloudera Support
​3)CDH是Cloudera的Hadoop发行版,完全开源,比Apache Hadoop在兼容性,安全性,稳定性上有所增强。Cloudera的标价为每年每个节点**10000美元。
4)Cloudera Manager是集群的软件分发及管理监控平台,可以在几个小时内部署好一个Hadoop集群,并对集群的节点及服务进行实时监控。
5)Cloudera的标价为每年每个节点4000美元。Cloudera开发并贡献了可实时处理大数据的Impala项目。

  • Hortonworks Hadoop

官网地址:https://www.clouderacn.cn/products/hdp.html
下载地址:https://www.cloudera.com/downloads/hdp.html
1)2011年成立的Hortonworks是雅虎与硅谷风投公司Benchmark Capital合资组建。
2)公司成立之初就吸纳了大约25名至30名专门研究Hadoop的雅虎工程师,上述工程师均在2005年开始协助雅虎开发Hadoop,贡献了Hadoop80%的代码。
3)雅虎工程副总裁、雅虎Hadoop开发团队负责人Eric Baldeschwieler出任Hortonworks的首席执行官。
4)Hortonworks的主打产品是Hortonworks Data Platform(HDP),也同样是100%开源的产品,HDP除常见的项目外还包括了Ambari,一款开源的安装和管理系统。
5)HCatalog,一个元数据管理系统,HCatalog现已集成到Facebook开源的Hive中。Hortonworks的Stinger开创性的极大的优化了Hive项目。Hortonworks为入门提供了一个非常好的,易于使用的沙盒。
6)Hortonworks开发了很多增强特性并提交至核心主干,这使得Apache Hadoop能够在包括Window Server和Windows Azure在内的microsoft Windows平台上本地运行。定价以集群为基础,每10个节点每年为12500美元。
2018年10月,均为开源平台的Cloudera与Hortonworks公司宣布他们以52亿美元的价格合并。
官方网站:https://www.cloudera.com/
Cloudera 官方文档: https://www.cloudera.com/documentation/enterprise/latest.html
两家公司称合并后公司将拥有2500客户、7.2亿美元收入和5亿美元现金,且没有债务,宣布了它们所谓了相对平等的合并。
两大开源大数据平台Cloudera与Hortonworks宣布合并,合并后的企业定位为企业数据云提供商,推出了ClouderaDataPlatform(CDP),可以跨AWS、Azure、Google等主要公有云架构进行数据管理。2020年6月,Cloudera发布CDP私有云,将本地部署环境无缝连接至公有云。
CDP的版本号延续了之前CDH的版本号,从7.0开始,目前最新的版本号为7.0.3.0。
那么CDP对比之前的Cloudera Enterprise Data Hub(CDH企业版)与HDPEnterprise Plus(HDP企业版)到底在组件上发生了哪些变化呢?
由于HDP在国内市场上的市场占有量很小,大部分公司都是采用CDH,所以对于HDP带来的一些东西,使用CDH的用户和开发人员会比较陌生,下面带大家详细的了解一下CDP中的组件一些变化,也方便大家为在2022年以及之后的学习做好准备。

二、Hadoop组件

  • Hadoop Common:基础型功能
  • Hadoop Distributed File System (HDFS™):一种分布式文件系统,可提供对应用程序数据的高吞吐量访问。负责存放数据
  • Hadoop YARN:作业调度和集群资源管理的框架。负责资源的调配
  • Hadoop MapReduce:基于 YARN 的系统,用于并行处理大型数据集。大数据的计算框架

Hadoop框架透明地为应⽤提供可靠性和数据移动。它实现了名为MapReduce的编程范式:应⽤程序被分割成许多⼩部分,⽽每个部分都能在集群中的任意节点上执⾏或重新执⾏。此外,Hadoop还提供了分布式⽂件系统,⽤以存储所有计算节点的数据,这为整个集群带来了⾮常⾼的带宽。MapReduce和分布式⽂件系统的设计,使得整个框架能够⾃动处理节点故障。它使应⽤程序与成千上万的独⽴计算的电脑和PB级的数据
Hadoop是一个适合海量数据的分布式存储和分布式计算的平台

三、分布式文件系统构架

1、FS File System

​ 文件系统时极域硬盘之上的文件管理的工具

​ 我们用户操作文件系统可以和硬盘进行解耦

2、DFS Distributed File System

​ 分布式文件系统

​ 将我们的数据存放在多台电脑上存储

​ 分布式文件系统有很多,HDFS(Hadoop Distributed FileSyetem)是Hadoop自带的分布式文件系统

​ HDFS是mapreduce计算的基础

四、Block拆分标准

  • 数据块Block

a. 在hadoop中是磁盘进行数据 读/写的最小单位,数据被切分后的一个整体被称之为块
​ b. 在Hadoop 1默认大小为64M,在Hadoop 2及其之后默认大小为128M块,这么大是为了最小化寻址开销
​ c. 同一个文件中,每个数据块的实际大小要一致除了最后一个节点外
​ 不同文件中,块的大小可以不一致
​ 文件大小不同可以设置不同的块的数量
HDFS中小于一个块的大小的文件不会占据整个块的空间
​ d. 真实情况下,会根据文件大小和集群节点的数量综合考虑块的大小
​ e. 数据块的个数=Ceil(文件大小/每个块的大小)

  • 拆分的数据块需要等大

a. 数据计算的时候简化问题的复杂度(否则进行分布式算法设计的时候会因为数据量不一很难设计)
​ b. 数据拉取的时候时间相对一致
​ c. 通过偏移量就知道这个块的位置
​ d. 相同文件分成的数据块大小应该相等

  • 注意事项

a. 只要有任意一个块丢失,整个数据文件被损坏
​ b. HDFS中一旦文件被存储,数据不建议被修改
​ 修改会影响偏移量,修改会导致数据倾斜(单节点数据量过多),修改数据会导致蝴蝶效应
​ c. 但是可以被追加(一般不推荐)
​ 追加设置需要手动打开
​ d. 一般HDFS存储的都是历史数据.所以将来Map Reduce都用来进行离线数据的处理
​ f. 块的大小一旦文件上传之后就不允许被修改 128M-512M

  • Block数据安全

a. 只要有任意一个块丢失,整个数据文件被损坏
​ b. 肯定要对存储数据做备份
​ c. HDFS是直接对原始数据进行备份的,这样能保证恢复效率和读取效率
​ d. 备份的数据肯定不能存放在一个节点上,使用数据的时候可以就近获取数据
​ f. 备份的数量要小于等于节点的数量
​ g. 每个数据块默认会有三个副本,相同副本是不会存放在同一个节点上
​ h. 副本的数量可以变更
​ 可能近期数据被分析的可能性很大,副本数可以多设置几个
​ 后期数据很少被分析,可以减少副本数

posted @ 2024-10-31 21:31  w我自横刀向天笑  阅读(41)  评论(0)    收藏  举报