目录
Hadoop是一个对大量数据进行分布式处理的软件框架
前文我们提到大数据主要解决海量数据的采集、存储和分析计算问题。其中Hadoop框架主要解决海量数据的存储和分析计算问题
HDFS(hadoop distribute file system) - 分布式文件系统,解决海量数据的存储问题
MR(MapReduce) - 分离聚合式运算系统,分布式运算系统,解决海量数据的分析计算问题
YARN - 分布式资源调度系统
分布式指的是在多态计算机上协同工作以完成某个任务的过程
假设你有一本非常厚的书需要复印。如果你只有一台复印机,复制整本书将需要很长时间。现在,想象一下有十台复印机,每台都可以复制书中的一部分。你可以让每台复印机同时工作,每台复印机复制其中的一小部分,然后将它们组合在一起。这样,整个过程会比只用一台复印机快得多。
在这个比喻中,每台复印机就好比分布式系统中的一个计算节点(node),而整个过程就是分布式处理。每个节点都独立地执行任务的一部分,最后将它们的结果合并起来形成最终的输出。这种分布式方式可以大大提高处理速度和系统的可伸缩性。
在Hadoop中,分布式处理的核心思想是将大量的数据分成小块,并在多台计算机上并行处理这些数据块。这样可以更快地完成任务,同时也提高了系统的容错性,因为即使某个计算节点出现故障,其他节点仍然可以继续工作。这种分布式处理模型使得Hadoop能够有效地处理大规模数据集。
什么叫分布式?化整为零
狭义上来说,hadoop就是单独指代hadoop这个软件,
广义上来说,hadoop指代大数据的一个生态圈,包括很多其他的软件
——Hadoop生态圈:hbase、hive、spark、flink、yarn、flume...
Hadoop生态的图例:
1. 起源(2004-2006):
Hadoop的起源可以追溯到2004年,由道格·切宾(Doug Cutting)和迈克尔·卡福曼(Mike Cafarella)等人开发。最初,Hadoop是为了支持Nutch项目,这是一个开源的网络搜索引擎。切宾基于Google的论文《MapReduce: Simplified Data Processing on Large Clusters》和《The Google File System》的思想,开发了Hadoop分布式文件系统(HDFS)和MapReduce编程模型。
2. Apache Hadoop项目(2006年):
2006年,Hadoop成为Apache软件基金会的项目。这一时期,Hadoop的社区逐渐壮大,吸引了许多贡献者和用户。
3. Hadoop 1.x版本(2006-2012):
Hadoop 1.x版本是最早的稳定版本,包括HDFS和MapReduce。在这个阶段,Hadoop开始被广泛应用于处理大规模数据和实现分布式计算。
4. Hadoop生态系统扩展(2012年至今):
2012年,Hadoop生态系统经历了扩展,引入了更多的组件和工具。一些重要的项目包括:
Hadoop 2.x版本: 引入了YARN(Yet Another Resource Negotiator),使Hadoop更灵活,能够支持不仅仅是MapReduce的计算模型。
Hive: 提供了类似SQL的查询语言,使用户能够通过类似于SQL的语法查询Hadoop中的数据。
Pig: 提供了一种类似脚本的语言,简化了在Hadoop上的数据处理。
HBase: 提供了一个分布式、面向列的NoSQL数据库。
Spark: 不仅替代了MapReduce,还引入了更多的内存计算,提高了性能。
5. Apache Hadoop 3.x版本(2017年至今):
Hadoop 3.x版本在性能、可靠性和扩展性方面进行了改进。它引入了一些新的特性,如Erasure Coding、支持GPU加速、Containerization等,以提升Hadoop的整体效能。
Hadoop三大发行版本:Apache、Cloudera、Hortonworks。
Apache版本最原始(最基础)的版本,对于入门学习最好。
Cloudera在大型互联网企业中用的较多。
Hortonworks文档较好。
Apache Hadoop
官网地址:Apache Hadoop
下载地址:Index of /dist/hadoop/common
Cloudera Hadoop
官网地址:CDH Product Download
下载地址:http://archive-primary.cloudera.com/cdh5/cdh/5/
(1)2008年成立的Cloudera是最早将Hadoop商用的公司,为合作伙伴提供Hadoop的商用解决方案,主要是包括支持、咨询服务、培训。
(2)2009年Hadoop的创始人Doug Cutting也加盟Cloudera公司。Cloudera产品主要为CDH,ClouderaManager,Cloudera Support
(3)CDH是Cloudera的Hadoop发行版,完全开源,比Apache Hadoop在兼容性,安全性,稳定性上有所增强。
(4)Cloudera Manager是集群的软件分发及管理监控平台,可以在几个小时内部署好一个Hadoop集群,并对集群的节点及服务进行实时监控。Cloudera Support即是对Hadoop的技术支持。
(5)Cloudera的标价为每年每个节点4000美元。Cloudera开发并贡献了可实时处理大数据的Impala项目。
Hortonworks Hadoop
官网地址:Enterprise Data Management Platforms & Products | Cloudera
下载地址:Product Downloads | Cloudera
(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美元。
名称 | 端口号 |
namenode内部通信端口 | 8020 |
Namenode HTTP UI | 9870 |
MapReduce查看执行任务端口 | 8088 |
历史服务器通信端口 | 19888 |
用户通过开发分布式程序,充分利用低廉价的硬件资源完成海量数据的存储和运算,不仅仅能够完成数据的存储和运算,还要能保证数据的安全性和可靠性
Hadoop底层维护多个数据副本,所以即使Hadoop某个计算元素或存储出现故障,也不会导致数据的丢失。
当存储hdp集群的存储能力和运算资源不足时,可以横向的扩展机器节点来达到扩容和增强运算能力
因为它以并行的方式工作,通过并行处理加快处理速度
Hadoop能够自动保存数据的多个副本,当有存储数据的节点宕机以后, 会自动的复制副本维持集群中副本的个数 ,并且能够自动将失败的任务重新分配。
hadoop可以运行在廉价的机器上并行工作,达到高效,安全,效率于一身目的。