大数据生态圈&Docker发展概况:最新动态及国内情况

目录:

【大数据生态圈】

  • Hadoop
    Hadoop 3.0.0 Alpha版本发布
  • Druid
    Druid 0.9.2版本发布
  • Kudu
    Apache Kudu 1.1.0正式发布
  • HAWQ
    HAWQ 2.1.0.0企业版正式发布

【Docker发展概况】

  • 官方版本发布情况
  • 国内情况
  • 落地情况
  • 感谢名单

 

大数据生态圈

一、Hadoop

 

Hadoop 3.0.0 Alpha版本发布

 

由于Hadoop 2.0是基于JDK 1.7开发的,而JDK 1.7在2015年4月已停止更新,所以Hadoop社区于2016年9月3日发布了全新的基于JDK 1.8的Hadoop 3.0.0 alpha版本。

 

目前Hadoop 3.0.0仅提供Alpha测试版本,整个系统的稳定性没有保障,所以不推荐在正式的开发系统中使用该版本。

 

相比于Hadoop2.7.0,3.0.0版本更新的主要变更的官方链接:

http://hadoop.apache.org/docs/r3.0.0-alpha1/index.html

 

全部变更的官方连接:

http://hadoop.apache.org/docs/r3.0.0-alpha1/hadoop-project-dist/hadoop-common/release/3.0.0-alpha1/RELEASENOTES.3.0.0-alpha1.html

 

我们针对主要的功能点版本进行了翻译,如下:

 

1、Java的最低版本要求从Java 7改成了Java 8

 

3.0以后所有的Hadoop JARs都是基于Java 8进行编译的,所有还在使用Java 7或者是更低版本的用户,应该升级到Java 8。

 

2、HDFS支持纠删码(Erasure Coding、EC)

 

Erasure coding纠删码技术简称EC,是一种数据保护技术。最早用于通信行业中数据传输中的数据恢复,是一种编码容错技术。他通过在原始数据中加入新的校验数据,使得各个部分的数据产生关联性。在一定范围的数据出错情况下,通过纠删码技术都可以进行恢复。

 

与副本技术相比,纠删码是一种能够显著的节约空间的用于存储持久化数据的方法。进行数据存储的时候,标准编码(比如Reed-Solomon (10,4))有着1.4倍的空间开销,而如果使用HDFS的副本模式已经数据存储的时候,有着3倍的空间开销。由于纠删码在进行重建和远程读的时候会有额外的开销,所以它一般情况下,被用于存储冷的,不经常被访问的数据。用户在使用纠删码这一功能的时候应该要考虑CPU以及网络的额外开销。

 

关于HDFS的纠删码的更多细节,可以访问官方文档或者Jira:

http://hadoop.apache.org/docs/r3.0.0-alpha1/hadoop-project-dist/hadoop-hdfs/HDFSErasureCoding.html

https://issues.apache.org/jira/browse/HDFS-7285

 

国内也有相关的技术博客文章:

https://www.iteblog.com/archives/1684

 

3、YARN 时间轴服务V.2

 

在Hadoop2.4版本之前对任务执行的监控只开发了针对MR的Job History Server,它可以提供给用户用户查询已经运行完成的作业的信息,但是后来,随着在YARN上面集成的越来越多的计算框架,比如spark、Tez,也有必要为基于这些计算引擎的技术开发相应的作业任务监控工具,所以Hadoop的开发人员就考虑开发一款更加通用的Job History Server,即YARN Timeline Server。

 

3.0版本引入了YARN Timeline Service: v.2,主要用与解决两大挑战:

  • 提高时间轴服务的稳定性和可拓展性。
  • 增强流式和聚合的可用性

 

更多关于YARN Timeline Service: v.2 可以访问官方文档

http://hadoop.apache.org/docs/r3.0.0-alpha1/hadoop-yarn/hadoop-yarn-site/TimelineServiceV2.html

 

4、Shell脚本重写

 

The Hadoop shell scripts have been rewritten to fix many long-standing bugs and include some new features. While an eye has been kept towards compatibility, some changes may break existing installations.

 

为了修复一些长时间存在的BUG并添加一些新的功能,Hadoop的shell脚本在3.0版本被重新进行了改写。其中绝大部分的脚本能够保证一定的兼容性,但是有些变化还是会是现有的一些配置出现问题。

 

相关不兼容的变更我们可以查看:

https://issues.apache.org/jira/browse/HADOOP-9902

 

如果你想了解3.0版本中脚本的更多细节我们可以访问Unux Shell用户指导及API手册:

http://hadoop.apache.org/docs/r3.0.0-alpha1/hadoop-project-dist/hadoop-common/UnixShellGuide.html

http://hadoop.apache.org/docs/r3.0.0-alpha1/hadoop-project-dist/hadoop-common/UnixShellAPI.html

 

5、MapReduce任务级别的本地优化

 

MapReduce 添加了C/C++输出到collector的本地实现(包括了Spill,Sort,和Ifile等),通过作业级别的的参数调整就能够切换到该实现上对于shuffle密集型的作业来说,可以提高30%以上的性能。

 

更多细节可以查看:

https://issues.apache.org/jira/browse/MAPREDUCE-2841

 

6、支持两个以上的Namenode

 

早期版本的HDFS Namenode的高可用提供了一个active状态的Namenode和一个standby状态的Namenode,他们之间通过3个JournalNode应用edit的方式进行同步。在这种架构下,允许两个节点中的任意一个节点失效。有的时候,我们的系统可能需要更要的容错性,这个时候我们就需要3.0的多Namenode的新特性了。它可以允许用户配置多个standby Namenode,如果说,配置说三个Namenode,5个JournalNode,这样这个系统就允许坏两个Namenode了,进一步提高了系统的冗余性。

 

如何进行配置多个Namenode请查看如下文档:

http://hadoop.apache.org/docs/r3.0.0-alpha1/hadoop-project-dist/hadoop-hdfs/HDFSHighAvailabilityWithQJM.html

 

7、多个服务的默认端口的变化

 

在此之前,很多Hadoop的默认端口都是属于linux的临时端口范围(32768-61000)这意味着我们的服务在启动的时候由于端口已经被其他的服务所占用导致启动的失败。现在这些可能会引起冲突的端口都已经做了变更,不再是在临时端口范围内了,这些端口的变化会影响Namenode、SecondaryNamenode、DataNode和KMS。这些变化,在Jira中都有说明,详见:

 

https://issues.apache.org/jira/browse/HDFS-9427

https://issues.apache.org/jira/browse/HADOOP-12811

 

8、支持Microsoft Azure Data Lake filesystem连接器

 

现在Hadoop支持Microsoft Azure Data Lake filesystem,并可替代作为Hadoop默认的文件系统。

 

9、Intra-DataNode均衡器

 

一个datanode可以管理多个磁盘,正常写入,各个磁盘会被均匀写满。然后,后期当重新添加或者替换磁盘的时候,就会导致DataNode内部的数据存储严重倾斜。这种情况下,HDFS的balancer是无法进行处理的。这种情况下,通过调用dfs diskbalancer CLI,可以实现 Intra-DataNode 的动态balance。

 

更多细节详见:

http://hadoop.apache.org/docs/r3.0.0-alpha1/hadoop-project-dist/hadoop-hdfs/HDFSCommands.html

 

10、重写守护进程及任务的堆管理

 

https://issues.apache.org/jira/browse/HADOOP-10950

介绍了配置守护进程Heap大小的新的方法,现在已经可以实现基于主机内存的动态调节,同时HADOOP_HEAPSIZE此参数已经被弃用。

 

https://issues.apache.org/jira/browse/MAPREDUCE-5785

介绍如何去配置了Map以及Reduce task的heap大小。现在所需的堆大小不在需要通过任务配置或者Java选项来实现,已经指定的配置选项不受变更的影响。

 

二、Druid

 

Druid 0.9.2版本发布

 

Druid是一款开源的分布式分析型数据存储系统,它最大的卖点是实时OLAP,导入即可查询,OLAP查询亚秒级响应,数据量可以扩展到PB级,其高并发以及高可用等特性适合构建面向用户的数据分析产品。

 

2016年12月1日,Druid发布了0.9.2版本。在这一版本中包含了来自30多位Contributor贡献的100多项性能提升、稳定性提升以及Bug修复。主要的新功能包括新的Group By查询引擎,数据摄入阶段可以关闭Roll-up,支持对Long类型字段的过滤,Long类型字段的新编码方式,HyperUnique和DataSketches的性能提升,基于Caffeine的查询缓存实现,可配置缓存策略的Lookup扩展,支持ORC格式数据的摄入以及增加了标准差和方差的Aggregator(聚合函数)等。

 

1、新的Group By查询引擎

 

Druid为了提升性能以及优化内存管理,彻底重写了Group By查询引擎。在官方测试数据源上进行基准测试,有2~5倍的性能提升。新的查询引擎依然支持严格限制内存使用大小,同时增加了在内存耗尽时溢写到磁盘的选项,这样避免对结果集大小的限制以及潜在的内存溢出异常发生。新引擎模式默认是不开启的,你可以通过修改查询上下文中的相应参数开启,在Druid的未来发行版本中将默认采用新的查询引擎。其实现细节,详见http://druid.io/docs/0.9.2/querying/groupbyquery.html#implementation-details。

 

2、禁用Roll-up的选项

 

从一开始,Druid在数据摄入阶段以及查询阶段,区分维度和度量值。Druid是唯一仅有的数据库,支持在数据摄入阶段进行聚合,我们把这一行为叫做“Roll-up”。Roll-up可以显著地提升查询性能,但会失去查询原始数据的能力。 禁用Roll-up以后,会将原始数据摄入,但不会影响查询阶段的聚合。Roll-up默认依然是开启的,具体配置详见“http://druid.io/docs/0.9.2/ingestion/index.html ”。

 

3、对整数类型列的筛选能力

 

Druid新增了对整数类型列的复杂筛选能力,整数类型列包括long类型的度量值以及特殊的__time(时间)列。以它为基础,将开创一系列新功能:

 

  • 对时间列的筛选聚合,它对于实现对比两个时间段的查询非常有帮助,例如使用DataSketches实现用户留存。
  • 针对整数类型列进行筛选,特别是禁用Roll-up以后。

 

4、Long类型字段的新编码方式

 

直到现在,Druid中Long类型字段,包括Long类型度量值以及特殊的__time列,都是采用64bit 8字节 longs存储,然后使用LZ4按块压缩。Druid0.9.2增加了新的编码方式,它会在很多场景下,减少文件大小以及提升性能。它有如下Long类型编码方式:

 

  • auto,会在扫描一遍数据以后,得到其基数以及最大值,选择table或者Delta编码方式,使得存储使用小于64bit存储每一行。
  • longs,默认的策略,总是使用64bit存储每一行。

 

新增加了“none”的压缩策略,类似原来的“uncompressed”,摒弃了原来块存储的方式,提升了随机查找的性能。

 

默认仍然采用“longs”编码方式+“lz4”压缩方式。在官方测试中,产生有效收益的两个选项是 "auto" + "lz4"(通常文件大小会小于longs+lz4)和 "auto" + "none"(通常会比longs+lz4块,但文件大小影响各不相同)。

 

5、Sketch性能提升

 

DataSketch性能最多提升80%,HyperUnique性能提升19%~30%。
 

三、Kudu

 

Apache Kudu 1.1.0正式发布

 

Kudu是Cloudera开源的新型列式存储系统,是Apache Hadoop生态圈的新成员之一(incubating),专门为了对快速变化的数据进行快速的分析,是对HDFS与HBase的补充 。 

 

新功能和改进:

  1. Python客户端已经与C ++和Java客户端具有同等特性。
  2. 列表谓词。
  3. Java客户端现在具有客户端跟踪功能。
  4. Kudu现在发布用于使用Scala 2.11编译的Spark 2.0的jar文件。
  5. Kudu采用Raft算法实现预选举,在我们的测试中这个功能大大提高了稳定性。

 

更多内容可以参考链接:

http://kudu.apache.org/2016/11/15/weekly-update.html

 

四、HAWQ

 

Apache HAWQ是基于HDFS存储上的MPP引擎,兼备MPP并行数据库的查询处理优势和HDFS存储的可扩展性优势。此外,HAWQ还提供了Madlib数据挖掘工具,提供了对R,Python,Perl的脚本嵌入,使得用户可以方便地开发兼容第三方语言和SQL的软件。

 

HAWQ  2.1.0.0企业版正式发布

 

2016年12月,基于Apache HAWQ 2.0 的Pivotal HDB 2.1.0.0企业版正式发布,功能包括:

 

1、资源管理及弹性查询执行

 

 资源管理与YARN集成
 

可动态从YARN申请资源并在负载下降时动态归还。支持查询级别的资源管理,可使用多级资源管理队列分配用户以及查询使用资源。自动对资源进行隔离及强制。

 

 弹性查询执行
 

基于virtual segment实现弹性查询执行。基于查询的代价动态分配virtual segment,使其运行在集群部分节点。解决了经典MPP引擎缺点,提高扩展性和查询并行度。

 

 动态集群伸缩
 

彻底解耦了计算和存储,Segment节点和Master节点。这意味着在集群节点大小变化的时候表不需要重新分布,从而HAWQ可以实现秒级扩容。

 

 新版调度器
 

新调度器可以动态组合不同节点上的查询执行进程来动态调度和管理查询的执行。

 

2、存储相关

 

 块级别存储
 

优化了AO以及Parquet表存储格式,使得一个大文件可以被多个Scanner进程以快级别分割来读。使得HAWQ可以达到优化的查询并行度。

 

 表数据单目录存储
 

将一个表的所有数据文件存放在HDFS的一个目录中,方便了HAWQ与外部系统的数据交换,比如外部系统可以把数据文件放到该表对应HDFS目录中,实现数据加载。

 

 HDFS元数据缓存
 

HAWQ需要HDFS文件块位置信息来实现派遣计算到数据的调度。HDFS在RPC的处理速度上在高并发时往往响应较慢。元数据缓存提升了数据局部性匹配方法的效率。

 

 PXF功能增强
 

实现与HCatalog集成。基于PXF对Hive表的访问不需要先创建外部表;支持将Hive中ORC存储格式文件作为外部表进行查询,同时在外部表处理中支持谓词下推和投影下推。

 

 HAWQ Register 功能支持
 

HAWQ Register 能够直接将HDFS文件注册到HAWQ内部表。可被用于:直接注册Hadoop生态系统其他模块生成的parquet存储格式文件; HAWQ集群的迁移。

 

3、其他功能改进及增强

 

 优化器(gporca)升级
 

新版gporca查询优化器包括了许多新功能和大量的错误修正。

 

 新的容错服务
 

基于心跳和动态探测的容错服务,可动态检测到新加节点并且移除失效节点。

 

 新管理工具接口
 

用户可以通过一个新的命令“hawq”来完成几乎所有的管理操作,该命令整合了所有的其它子命令。

 

4、其他模块集成与支持

 

 HDP 2.5 支持
 

HDP 2.4.x的版本升级到2.5.0,包括Apache Hadoop从2.7.1 到 2.7.3 升级。

 

 Ambari 2.2.0插件支持
 

Ambari 2.2.2版本插件现在支持HAWQ 2.0的配置和部署。

 

 自动的Kerberos配置
 

HAWQ/PXF插件现在支持自动的Kerberos安全配置。

 

Docker发展概况

一、官方版本发布情况

 

Docker从2013年开源。2015年是Docker开源项目突飞猛进的一年,这段时间Docker官方先后发布了V1.5、V1.6、V1.7、V1.8、V1.9等5个大版本以及7个修订版本。

 

2016年Docker发展同样迅速,截止2016年12月7日Docker官方共发布了V1.10、V1.11、V1.12、V1.13等4个大版本以及8个修订版本。

 

重大变化主要是V1.12版本,原Swarm项目改为SwarmKit并内置到了Docker引擎中。

 

详情:https://github.com/docker/docker/releases

 

二、国内情况

 

Docker容器技术目前在国内还属于早期阶段。

 

  • 第一:技术太新,技术人员需要一个接受的过程;
  • 第二:容器技术和虚拟化技术不一样,和企业业务结合还需要进一步磨合。

 

阿里云和Docker官方合作,Docker公司选择aliyun平台作为Docker Hub在中国运营的基础服务,且阿里获得Docker DataCenter的运营权。

 

由工信部、中国信息通信研究院联合成立的云计算开源产业联盟(OSCAR),在12月2日,发布了国内第一个“容器技术应用场景”规范,且该规范已立项为中国通信标准协会研究课题。

三、落地情况

 

国内的企业也有实际落地使用,互联网居多。代表性的列举几个:

 

  • 互联网行业:京东、微博、知乎、豆瓣、PPTV;etc。
  • 汽车行业:长安汽车、上海汽车;etc。
  • 金融保险:永隆银行、中英人寿、广发证券;etc。
  • 其他:…

 

感谢名单

 

感谢本期提供宝贵信息和建议的专家朋友,排名不分先后。

 

原文发布时间为:2016-12-23

时间: 2024-08-31 04:19:50

大数据生态圈&Docker发展概况:最新动态及国内情况的相关文章

全球各国大数据市场的发展现状

1 大数据发展概述 当今是一个数据爆发增长的时代.移动互联网.移动终端和数据传感器的出现,使数据以超出人们想象的速度快速增长.据调查机构估测,数据数量一直在快速增加,这个速度不仅是指数据流的增长,而且还包括全新的数据种类的增多.目前数据容量增长的速度,已经大大超过了硬件技术的发展速度,并正在引发数据存储和处理的危机.据统计,2013年全球产生的数据达到3.5泽字节,到2020年产生的数量将增至44泽字节. "大数据"一词来自于未来学家托夫勒于1980年所著的<第三次浪潮>.

王叁寿:只有数据源服务商才有资格构建大数据生态圈

王叁寿认为,如同在大数据价值变现过程中,数据源始终占有绝对重心一样(王叁寿图),未来只有数据源服务商,才有资格构建大数据生态圈. 数据源服务商产业链核心位置,无可替代 一个完整的大数据生态圈,由数据源.硬件支撑层.技术层.应用层.交易层.衍生层构成.大数据生态圈良性运转最重要的根源,来自行业起点--数据源.如果没有数据源公司对政府.行业.企业.互联网.物联网.移动通信以及第三方海量数据的挖掘处理,大数据硬件.软件生产和投入应用都无从谈起. "发展大数据产业,首要解决的是促成数据资源的极大丰富和开

拥抱“大数据时代” 共享发展新成果

近现代历史上的数次技术产业革命,中国均以学习者和模仿者的姿态出现.而在云计算和大数据所带来的新变革中,中国与世界的距离最小,在很多领域甚至还有着创新与领先的可能.以开放的心态.创新的勇气拥抱"大数据时代",就一定会抓住历史赋予中国的这一伟大创新机会. 习近平在中共中央政治局第三十六次集体学习时强调,我们要深刻认识互联网在国家管理和社会治理中的作用,以推行电子政务.建设新型智慧城市等为抓手,以数据集中和共享为途径,建设全国一体化的国家大数据中心,推进技术融合.业务融合.数据融合,实现跨层

通信行业未来发展的“丝绸之路”:拥抱大数据时代 共享发展新成果

拥抱"大数据时代" 共享发展新成果 近现代历史上的数次技术产业革命,中国均以学习者和模仿者的姿态出现.而在云计算和大数据所带来的新变革中,中国与世界的距离最小,在很多领域甚至还有着创新与领先的可能.以开放的心态.创新的勇气拥抱"大数据时代",就一定会抓住历史赋予中国的这一伟大创新机会. 习近平在中共中央政治局第三十六次集体学习时强调,我们要深刻认识互联网在国家管理和社会治理中的作用,以推行电子政务.建设新型智慧城市等为抓手,以数据集中和共享为途径,建设全国一体化的国

10个观点 指引大数据产业未来发展方向

文章讲的是10个观点 指引大数据产业未来发展方向,大数据的"炒作"期从2013年慢慢步入成长期,2016年大数据产业还在经历蜕变.而16年也是大数据产业规模明显增长的一年.技术与应用的创新,政府需求的推动,行业应用大热都在这一年显而易见. 2016年底工信部正式发布<大数据产业发展规划(2016-2020年)>,规划的提出为我国大数据产业崛起指明了方向.其中规划目标到2020年,大数据相关产品和服务业务收入突破1万亿元;建设10-15个大数据综合试验区,创建一批大数据产业集

交通行业大数据应用和发展现状

摘要:智能交通产业是现代IT技术与传统交通技术相结合的产物,而交通大数据产业是大数据技术在智能交通领域内的应用产业. 随着社会经济的快速发展.城市规模的不断扩大以及城市智能化进程的加快,机动车拥有量及道路交通流急剧增加,使得交通供给与需求之间的矛盾渐显,交通拥堵.停车困难.环境恶化等交通问题不断加剧,影响了城市的可持续发展及人民生活水平的提高,阻碍了社会经济的发展.在工业化进程中,最初解决交通问题的途径是通过大规模改扩建交通基础设施,但是土地资源日益紧张,用于改扩建交通基础设施的空间越来越小,交

孟小峰:大数据管理系统的发展与机遇

文章讲的是孟小峰:大数据管理系统的发展与机遇,2016年5月12日-14日,第七届中国数据库技术大会(DTCC 2016)在北京国际会议中心拉开帷幕.作为国内数据库与大数据领域最大规模的技术盛宴,在为期三天的会议中,大会将围绕MySQL.NoSQL.Oracle.缓存技术.云端数据库.智能数据平台.大数据安全.数据治理.大数据和开源.大数据创业.大数据深度学习等领域的前瞻性热点话题与技术展开深入探讨,并邀请一大批国内顶尖的技术专家来进行分享,以满足广大从业人士和行业用户的迫切需要. 本届是大会创

合力打造交通大数据生态圈

6月15日,中国电信携手智慧交通领域内诸多知名企业在北京共同召开"数聚城市,云翼出行" --大数据产品发布会.中国电信北京公司.交通发展研究院与中国电信云计算公司共同签署了战略合作协议,成立城市与交通大数据联合实验室,合力打造交通大数据生态圈,对未来大数据合作提供支持. 中国电信北京公司总经理张志勇指出,2017年,随着物联网.云计算.大数据等技术的日益完善,"互联网+交通"产业迎来了发展新起点.基于路侧停车.公交数据回传.道路交通等场景的交通物联网行业应用,基于交

一张图看懂大数据生态圈

世界杯虽然已落下帷幕,但大数据在本届世界杯上的精彩表现仍被业界津津乐道. 两年前,<纽约时报>撰文"欢迎大数据的到来".两年后,大数据的商业价值已经显现.医疗行业.交通行业.http://www.aliyun.com/zixun/aggregation/14199.html">金融行业和零售行业,我们都能看到大数据的身影. 相对于这些行业,电信行业拥有更加丰富的用户数据:用户详细资料.用户上网日志.位置信息.访问记录.终端信息等. "电信运营商详细