一提大数据,人们就想到Hadoop。Hadoop基本上成为了大数据的代言人了。那Hadoop到底是什么?用于解决什么问题?
hadoop的起源背景
HDFS源自于Goole的GFS论文(发表于2003年10月),HDFS是GFS的克隆版。
PS: 近些年和google相关的几个开源产品对软件进步影响还是挺大的,比如:移动应用圈的Android、大数据圈的Hadoop、云原生圈的Kubernetes。这是众多计算机牛人喜欢google的很大的一个原因吧 |
hadoop的定义(或叫 定位)
Hadoop是一个开发和运行处理大规模数据的软件平台,是Appach的一个用java语言实现开源软件框架,实现在大量计算机组成的集群中对海量数据进行分布式计算。
两大特点:易于扩展的分布式文件系统(可支撑存储和计算);通过容错机制,可稳定运行在大量普通廉价的机器上。
hadoop目前的三个版本
版本号 | 版本信息 | 版本特点 |
V1 | 1.始于2002年,是apache Lucene的子项目(Apache Nutch) 2.2004年google论文发表后(Mapreduce:简化大规模集群上的数据处理),Nutch扩展了MR计算框,被命名为hadoop,成为apache顶级项目。 | 由HDFS、MapReduce两部分组成。 1.HDFS由1个NameNode和多个Datanode组成(后续版本增加了secondary NameNode-非热备份) 2.Mapreduce由1个JobTracker和多个TaskTracker(负责map和reduce任务)组成。JobTracker(作业跟踪器)异常时,所有作业必须重启。 |
V2 | 2012年发布V2.0.0的alpha版本,V2版本可满足大部分业务场景,一直在更新和完善。 最新版本是 V2.9.2 推荐使用V2.7.7或V2.8.5 | HDFS、MapReduce有较大改进。 1.HDFS支持主从nameNode(通过NFS或JournalNode实现)-热备份/切换。 3.Mapreduce的资源调度由YARN支持,也有利于使用MR以外的计算模型。 |
V3 | 2017年6月发布V3.0.0的alpha版本,最新版本是V3.3.0和V3.2.2 从小版本数据量,V3的发展速度慢了一些(V2目前有41个小版本,V3目前是18个)
| 1.JDK升级为1.8。 2.HDFS支持纠删码(比副本机制节省了一半以上的存储空间 3倍VS1.4倍)。 3.nameNode支持单主多从,进一步提升可用性。 4.MapReduce本地优化性能提升了30%(实际使用中不是很稳定) |
说明:
1、上述表格中数据统计于 2021年1月21日
2、对于使用V2,还是使用V3的问题:
-
对于研发能力一般,主要是使用hadoop来实施项目,同时没有苛刻的性能需求时,踏踏实实使用V2即可。
-
对于研发能力强的公司(特别是通过hadoop的二开获取利润),在大规模使用V2的同时,需要积极使用V3版,并将V2应用迁移到V3,对比不同。
在生产中使用hadoop,有三种选择,根据实施团队的技术能力、财力,选择合适的实施方式。
实施方式 | 典型方案 | 优缺点 |
Apache社区 | Apache Hadoop | 如果技术能力强、有足够的技术储备,使用apache版本更灵活,或者使用开源版本的CDH/HDP
如果技术储备较差、同时不差钱,则使用商业产品。
CDH/HDP及商业产品都有web管理,更易于维护,管理,且稳定性高。 |
商业公司开源 | Cloudera公司:CDH Hortonworks公司:HDP ... ... | |
商业公司产品 | 浪潮:云海 Insight HD 华为:FusionInsight HD 星环:TDH ... ... |
高容错性 | |
流式文件访问 |
|
构建成本低、安全可靠 |
|
适合的场景 | 很适合大数据批处理 • 移动计算不移动数据 • 数据位置暴露给计算框架 • GB、 TB甚至PB级别数据 • 10K节点规模 |
不适合的场景 | 1、不适合低延迟数据访问 2、不适合大量小文件存储 • 占用NameNode大量内存空间 • 磁盘寻道时间超过读取时间 3、不适合并发写入 • 只支持追加 |
通过上面的内容,我们了解了适合使用hadoop的场景后、同时知道了hadoop的组成(HDFS、MapReduce、Yarn)。
后面,我们将以 V2.7.7 版本为例子,分别介绍 hadoop的三驾马车(HDFS、MapReduce、Yarn)。敬请期待。
如果觉得这篇文章对您有帮助,欢迎关注公众号 “学点儿编程”,公众号不断推送干货文章!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。