Hadoop的生态,最近有什么新的发展

栏目: 服务器 · 发布时间: 6年前

内容简介:Hadoop于2006年1月28日诞生,至今已有10年,它改变了企业对数据的存储、处理和分析的过程,加速了大数据的发展,形成了自己的极其火爆的技术生态圈,并受到非常广泛的应用。在2016年Hadoop十岁生日之际,InfoQ策划了一个Hadoop热点系列文章,为大家梳理Hadoop这十年的变化,技术圈的生态状况,回顾以前,激励当下。本文是InfoQ处于一线开发的社区编辑对卢亿雷老师进行的采访,对大家关心的问题进行了专业的解答。InfoQ:Hadoop会考虑内存或磁盘动态管理技术吗?

Hadoop于2006年1月28日诞生,至今已有10年,它改变了企业对数据的存储、处理和分析的过程,加速了大数据的发展,形成了自己的极其火爆的技术生态圈,并受到非常广泛的应用。在2016年Hadoop十岁生日之际,InfoQ策划了一个Hadoop热点系列文章,为大家梳理Hadoop这十年的变化,技术圈的生态状况,回顾以前,激励当下。本文是InfoQ处于一线开发的社区编辑对卢亿雷老师进行的采访,对大家关心的问题进行了专业的解答。

Hadoop的生态,最近有什么新的发展

InfoQ:Hadoop会考虑内存或磁盘动态管理技术吗?

卢亿雷:随着实时计算的发展,Hadoop会考虑内存管理技术的。动态管理的目的一个是资源自动发现,一个是系统的效率。从资源自动发现来看,比如新的Hadoop版本已经支持根据机器内存大小的不同,自动计算可以使用的内存量;从系统效率角度来讲,比如新的Hadoop已经支持对内存/ssd/硬盘的分级存储管理,可以更高效地使用存储。

InfoQ:基于Hadoop实现的设计本身,它能做到的最好性能是什么?以及哪些瓶颈是设计本身造成的,不可改变的?

卢亿雷:基于Hadoop架构设计本身,它能做到最好的性能是大批量数据离线统计,对于多次迭代计算等是它现在设计本身的瓶颈。但是随着YARN的发展,Hadoop的计算层变得越来越像一个纯粹的计算资源管理系统,Spark/Storm/Flink等多种计算模型都可以在YARN上来执行,极大丰富了Hadoop支持的计算,可以说,Hadoop已经变得更像一个大数据的框架,相信它的性能也会越来越好。

InfoQ:Hadoop能否在底层就实现基于广义shema的存储结构,而不是现在的block,这样会不会性能更好?

卢亿雷:Hadoop原来设计主要是基于文本存储,后续也进行了改进,可以设计特定的Schema存储结构来提高性能,如Hive中使用的RCFile,就是按需取字段,这样大大减少磁盘和网络IO,可以提高性能。另一方面,Hadoop底层存储是高度抽象的,具体的存储结构甚至可以由用户来自定义,比如现在就有用AWS做底层存储的模块,还有用阿里云做底层存储的模块,用户可以根据自己的需求来优化相应的存储结构。

InfoQ:Hadoop越来越跟随着spark的方向在开发,那是不是spark新功能的出现会比较大的影响到Hadoop的发展?

卢亿雷:之前谈到,Hadoop的YARN已经可以支持多种计算模型,Spark就可以在YARN上来执行。从这个层面来讲,Spark新功能的出现,会让Hadoop使用者更多地受益,YARN的优化也会更好地支持Spark的新功能。另一方面,在大数据量的存储方面,Hadoop的HDFS基本上就是大数据事实上的存储标准,Spark的大数据输入/输出也是基于HDFS的。

InfoQ:Hadoop代码越来越大,学起来成本更大,怎样才能更优雅的掌握?

卢亿雷:广义的Hadoop指Hadoop家族,包括HDFS/MapReduce/YARN/HBase/Zookeeper等等组件,狭义的Hadoop单单指HDFS/MapReduce/YARN,建议先从这些组件学起。

首先需要学习和理解分布式存储和分布式计算的原理,可以参考Google的相关论文,然后自己手动搭建一个Hadoop平台,测试各种组件,学习写MapReduce程序,之后可以学习使用HBase的搭建和基本使用。对这些都有一个基本概念之后,可以先编程使用这些组件,看可以解决自己的什么实际问题。最后,学习最好的资源就是Hadoop的社区和源码,是大数据学习的不二选择。如果有条件的话,在一个大数据公司工作,实际使用它们,会学习更快的。

InfoQ:Hadoop解决异构存储介质上的功能现在有生产环境可以用吗?或者对应性能测试怎么样?

卢亿雷:Hadoop解决异构存储介质上的功能主要支持普通硬盘、SSD、内存这三个存储介质,且在Hadoop2.6以后重点实现了,管理员可以在一个限定的Datanode跨磁盘存储层,以及应用程序可利用的API将数据存储到这些不同的存储层。这意味着管理员可以优化他们的应用程序通过使用Hadoop运行:在SSD存储层以提高读/写延迟;内存存储层进行快速读/写;普通硬盘可以进行归档存储层,以提高存储效率。所以可以在生产环境上使用的,前提是需要有同学对这块了解才可以。具体的测试性能需要看对应的应用场景,如果搭配的好,性能提升是比较显现,但是也需要注意的是如果内部数据交换比较多或者带宽有限制,从而导致文件IO不是瓶颈,带宽才是瓶颈,则性能基本不会有提升。总的来说如果业务没有特别的要求,其实也不用Hadoop的异构存储的功能。

InfoQ:Hadoop有从底层来设计支持DAG优化(比如现在有的Tez,Flink)mapreduce吗?

卢亿雷:目前没有,如果要从底层支持DAG优化,那就是重写Hadoop架构了。其实现在的YARN已经把计算的管理独立了出来,完全可以在YARN上玩出计算的各种花样。现有的Tez、Flink等都是基于Hadoop之上来实现DAG优化的。大家都知道ApacheTez是基于HadoopYarn之上的DAG(有向无环图,DirectedAcyclicGraph)计算框架。它把Map/Reduce过程拆分成若干个子过程,同时可以把多个Map/Reduce任务组合成一个较大的DAG任务,减少了Map/Reduce之间的文件存储。同时合理组合其子过程,减少任务的运行时间,由Hortonworks开发并提供主要支持;而Flink是一个开源的针对批量数据和流数据的处理引擎,且支持DAG的运算。像Tez、Flink等都可以直接运行在YARN上,所以对于Hadoop来也不是必须一定要在底层上支持DAG的优化,这样分层后也有利于各自的发展。

InfoQ:集群在上百台机器的规模,增加(移出)十来台机器时怎么迁移其上的数据?

卢亿雷:通过rebalance来实现,前提是带宽需要做控制。一般大规模的集群都会有一个rebalance在持续运行的。如Hadoop的rebalance是一个非自动的管理功能,换句话说,它是由人工启动的。在任意一台能够连接到HDFS的机器上命令行下输入hadoopbalancer[-threshold]即会启动。如果集群处于不平衡状态,这个过程就会在不平衡的节点之间迁移数据,如果rebalance过程没有被打断的话,完成此次rebalance目标后过程会自动停止。

受访嘉宾:卢亿雷,精硕科技(AdMaster)技术副总裁兼总架构师,大数据资深专家,CCF(中国计算学会)大数据专委委员,北航特聘教授。主要负责数据的采集、清洗、存储、挖掘等整个数据流过程,确保提供高可靠、高可用、高扩展、高性能系统服务,提供Hadoop/HBase/Storm/Spark/ElasticSearch等离线、流式及实时分布式计算服务。对分布式存储和分布式计算、超大集群、大数据分析等有深刻理解及实践经验。有超过10年云计算、云存储、大数据经验。曾在联想、百度、Carbonite工作,并拥有多篇大数据相关的专利和论文。

在不久的将来,多智时代一定会彻底走入我们的生活,有兴趣入行未来前沿产业的朋友,可以收藏 多智时代 ,及时获取人工智能、大数据、云计算和物联网的前沿资讯和基础知识,让我们一起携手,引领人工智能的未来!


以上所述就是小编给大家介绍的《Hadoop的生态,最近有什么新的发展》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

失业的程序员

失业的程序员

沈逸 / 2014-5-1 / 39.00元

这是一个程序员从失业到自行创业的奋斗历程,虽然囧事连连、过程曲折,却充满了趣味。本书以作者的真实创业经历为主线,文字幽默诙谐,情节生动真实,包括了招聘、团队管理和用户公关,以及技术架构设计、核心代码编写、商务谈判、项目运作等场景经验。 从初期的创业伙伴、领路人,到商业竞争对手,各种复杂的关系在各个关键时刻却都发生了意想不到的逆转。在历经千辛万苦,眼看快要成功时,主人公却几乎再次失业。 ......一起来看看 《失业的程序员》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

SHA 加密
SHA 加密

SHA 加密工具