概念:Hadoop是一个由Apache基金会所开发的分布式系统基础架构,是用Java写的,是一个开源的分布式计算平台。一开始,“Hadoop”这个单词只代表了两个组件——HDFS和MapReduce,现在已经从传统的Hadoop三驾马车HDFS,MapReduce和HBase社区发展为60多个相关组件组成的庞大生态。
分布式计算:就是将大量的数据分割成多个小块,由多台计算机分工计算,然后将结果汇总,这些执行分布式计算的计算机叫做集群。
中国科学院的定义:在两个或多个软件互相共享信息,这些软件既可以在同一台计算机上运行,也可以在通过网络连接起来的多台计算机上运行。
分布式计算比起其它算法具有以下几个优点:
1、稀有资源可以共享。
2、通过分布式计算可以在多台计算机上平衡计算负载。
3、可以把程序放在最适合运行它的计算机上。
Hadoop具体架构:
1. 底层:存储层-文件系统:HDFS、HBase…
2. 中间层:资源及数据管理层:YARN、Sentry…
3. 上层:计算引擎:MapReduce、Impala、Spark
Hadoop在底层共用一份HDFS存储,上层有很多个组件分别服务多种应用场景:
• 确定性数据分析:主要是简单的数据统计任务,例如OLAP,关注快速响 应,实现组件有Impala等;
• 探索性数据分析:主要是信息关联性发现任务,例如搜索,关注非结构化全量信息收集,实现组件有Search等;
• 预测性数据分析:主要是机器学习类任务,例如逻辑回归等,关注计算模型的先进性和计算能力,实现组件有Spark、MapReduce等;
• 数据处理及转化:主要是ETL类任务,例如数据管道等,关注IO吞吐率和可靠性,实现组件有MapReduce等
顶层:
基于MapReduce、Spark等计算引擎的高级封装及工具,如Hive、Pig…
参考阅读:
https://www.cnblogs.com/shijiaoyun/p/5778025.html
https://blog.csdn.net/weixin_42685589/article/details/81144591