Hadoop 生态系统

本文涉及的产品
实时计算 Flink 版,5000CU*H 3个月
简介:

1.概述

最近收到一些同学和朋友的邮件,说能不能整理一下 Hadoop 生态圈的相关内容,然后分享一些,我觉得这是一个不错的提议,于是,花了一些业余时间整理了 Hadoop 的生态系统,并将其进行了归纳总结,进而将其以表格的形式进行了罗列。涉及的内容有以下几点:

分布式文件系统

分布式编程模型

NoSQL 数据库

SQL-On-Hadoop

数据采集

编程服务中间件

调度系统

系统部署

数据可视化

2.内容

2.1 分布式文件系统

2.1.1 Apache HDFS

在分布式文件系统当中,首先为大家所熟悉的是 Apache 的 HDFS。全称为 Hadoop Distributed File System,由多台机器组建的集群,存储大数据文件。HDFS 的灵感来自于 Google File System(GFS)。Hadoop 2.x 版本之前,NameNode 是存在单点故障的。在 ZooKeeper 的高可用性功能解决了 HDFS 的这个问题,通过提供运行两个冗余的节点在同一个集群中进行主备切换,即:Active & Standby

相关链接地址如下所示:

Apache Hadoop

Google File System

Cloudera

Hortonworks

2.1.2 Red Hat GlusterFS

GlusterFS 是一个扩展的网络附加存储文件系统。GlusterFS 最初是由 Gluster 公司开发的,然后,由 Red Hat 公司在2011年进行了购买。2012年六月,Red Hat 存储服务器被宣布为商业支持的整合与 Red Hat 企业 Linux GlusterFS。Gluster 文件系统,现在称为 Red Hat 存储服务器。

相关链接地址如下所示:

Gluster 官网

Red Hat Hadoop 插件

2.1.3 QFS

QFS 是一个开源的分布式文件系统软件包,用于对 MapReduce 批处理工作负载。她被设计为一种 Apache Hadoop 的 HDFS 另一种选择方案,用于大型加工集群提供更好的性能和成本效率。它用 C++ 和固定占用内存管理。QFS 使用 Reed-Solomon 纠错保证可靠的数据访问方法。Reed-Solomon 编码在海量存储系统中被广泛应用,以纠正与媒体缺陷相关的突发错误。而不是存储每个文件或是像 HDFS 一样,存储 3+ 次以上,QFS 仅仅需要 1.5 倍的原始容量,因为它存储在哎九个不同的磁盘驱动上。

相关链接地址如下所示:

QFS 官网

Github QFS

Hadoop-8885

2.1.4 Ceph Filesystem

Ceph 是一个免费的软件存储平台,被设计为对象,块和从单一节点到集群的文件存储。它的主要目标是完全分布式无单点鼓掌,可水平扩展到 PB 容量,对多种工作负载的高性能,以及高可用性。

相关链接地址如下所示:

Ceph Filesystem 官网

Ceph and Hadoop

HADOOP-6253

2.1.5 Lustre file system

Lustre 是由 Linux 和 Cluster 演变而来,是为了解决海量存储问题而设计的全新的文件系统。可支持达 1w 节点,PB 的存储容量,100GB/S 的传输速度。Lustre 是基于对象的存储系统,减少元数据服务器的 iNode。它实际上还是将数据条带化到各个存储目标上,所以可以实现高度聚合 IO 能力。Lustre 原生态支持海量小文件读写;且对大文件读写在 Linux 内核做了特殊优化。另外,Lustre 是个对用户透明的 Share 文件系统,条带化数据的位置信息不能完美的暴露出来,所以要用上 Hadoop 的 MapReduce 优势还需要做很多工作。

相关链接地址如下所示:

Lustre WiKi

Hadoop with Lustre

Inter HPC Hadoop

关于分布式文件系统的内容就赘述到这里;其它分布式文件系统,如: Alluxio , GridGain 以及 XtreemFS[ 1.官网 , 2.Flink on XtreemFS , 3.Spark XtreemFS ] 等这里就不多赘述了,大家可以下去自己普及一下。

2.2 分布式编程模型

2.2.1 Apache Ignite

Apache Ignite 内存数组组织框架是一个高性能、集成和分布式的内存计算和事务平台,用于大规模的数据集处理,比传统的基于磁盘或闪存的技术具有更高的性能,同时他还为应用和不同的数据源之间提供高性能、分布式内存中数据组织管理的功能。

它包含一个分布式的 Key/Value 存储在内存中,SQL 执行能力,MapReduce 和其它计算,分布式数据结构,连续查询,消息和事件子系统。Hadoop 和 Spark 均有集成。Ignite 编译于 Java,提供 .NET 和 C++ 的 API 接口。

相关链接地址如下所示:

Apache Ignite

Apache Ignite Documentation

2.2.2 Apache MapReduce

这个大家应该不陌生,这是一个经典的编程模型,用于在集群上处理并发,分布式大数据集。当前版本编译于 YARN 框架。这里就不多赘述了。

相关链接地址,如下所示:

Apache MapReduce

Google MapReduce Paper

Writing YARN Applications

2.2.3 Apache Spark

这个编程模型,大家也不会陌生,现在 Spark 的应用场景和社区活跃度较高。快速的执行能力,丰富的编程 API 接口,使其备受恩宠。

相关链接地址,如下所示:

Apache Spark

Mirror of Spark on Github

RDDs-Paper

Spark Cluster Computing

Spark Research

2.2.4 Apache Storm

做实时流水数据处理的同学,应该也不陌生,可以嫁接多种消息中间件(如Kafka,MQ等)。

相关链接地址,如下所示:

Storm Project

Storm-on-YARN

2.2.5 Apache Flink

Apache Flink 是一个面向分布式数据流处理和批量数据处理的开源计算平台,它能够基于同一个Flink运行时(Flink Runtime),提供支持流处理和批处理两种类型应用的功能。现有的开源计算方案,会把流处理和批处理作为两种不同的应用类型,因为他们它们所提供的SLA是完全不相同的:流处理一般需要支持低延迟、Exactly-once保证,而批处理需要支持高吞吐、高效处理,所以在实现的时候通常是分别给出两套实现方法,或者通过一个独立的开源框架来实现其中每一种处理方案。例如,实现批处理的开源方案有MapReduce、Tez、Crunch、Spark,实现流处理的开源方案有Samza、Storm。 Flink在实现流处理和批处理时,与传统的一些方案完全不同,它从另一个视角看待流处理和批处理,将二者统一起来:Flink是完全支持流处理,也就是说作为流处理看待时输入数据流是无界的;批处理被作为一种特殊的流处理,只是它的输入数据流被定义为有界的。基于同一个Flink运行时(Flink Runtime),分别提供了流处理和批处理API,而这两种API也是实现上层面向流处理、批处理类型应用框架的基础。





====================================分割线================================


本文转自d1net(转载)

相关实践学习
基于Hologres轻松玩转一站式实时仓库
本场景介绍如何利用阿里云MaxCompute、实时计算Flink和交互式分析服务Hologres开发离线、实时数据融合分析的数据大屏应用。
Linux入门到精通
本套课程是从入门开始的Linux学习课程,适合初学者阅读。由浅入深案例丰富,通俗易懂。主要涉及基础的系统操作以及工作中常用的各种服务软件的应用、部署和优化。即使是零基础的学员,只要能够坚持把所有章节都学完,也一定会受益匪浅。
目录
相关文章
|
8月前
|
存储 分布式计算 Hadoop
大数据处理架构Hadoop
【4月更文挑战第10天】Hadoop是开源的分布式计算框架,核心包括MapReduce和HDFS,用于海量数据的存储和计算。具备高可靠性、高扩展性、高效率和低成本优势,但存在低延迟访问、小文件存储和多用户写入等问题。运行模式有单机、伪分布式和分布式。NameNode管理文件系统,DataNode存储数据并处理请求。Hadoop为大数据处理提供高效可靠的解决方案。
233 2
|
7月前
|
分布式计算 Hadoop 数据挖掘
Hadoop生态系统介绍(一)
Hadoop生态系统介绍(一)
131 4
|
7月前
|
存储 SQL 分布式计算
Hadoop 生态系统
【6月更文挑战第20天】Hadoop 生态系统
70 3
|
7月前
|
存储 分布式计算 Hadoop
Hadoop是如何支持大数据处理的?
【6月更文挑战第17天】Hadoop是如何支持大数据处理的?
78 1
|
7月前
|
存储 分布式计算 Hadoop
Hadoop生态系统详解:HDFS与MapReduce编程
Apache Hadoop是大数据处理的关键,其核心包括HDFS(分布式文件系统)和MapReduce(并行计算框架)。HDFS为大数据存储提供高容错性和高吞吐量,采用主从结构,通过数据复制保证可靠性。MapReduce将任务分解为Map和Reduce阶段,适合大规模数据集的处理。通过代码示例展示了如何使用MapReduce实现Word Count功能。HDFS和MapReduce的结合,加上YARN的资源管理,构成处理和分析大数据的强大力量。了解和掌握这些基础对于有效管理大数据至关重要。【6月更文挑战第12天】
300 0
|
存储 分布式计算 资源调度
Hadoop生态系统特点
Hadoop生态系统特点
76 0
|
机器学习/深度学习 存储 分布式计算
从Hadoop1.0到Hadoop2.0架构的优化和发展探索详解
从Hadoop1.0到Hadoop2.0架构的优化和发展探索详解
580 0
从Hadoop1.0到Hadoop2.0架构的优化和发展探索详解
|
存储 分布式计算 自然语言处理
Hadoop生态之Mapreduce
Hadoop生态之Mapreduce
214 0
|
存储 分布式计算 资源调度
Hadoop社区比 Ozone 更重要的事情
本文回顾了最近几年Hadoop项目的发展,着重探讨个人对Ozone的看法和理解,不求正确,引玉而已,欢迎业内专家拍砖讨论。
Hadoop社区比 Ozone 更重要的事情
|
分布式计算 Hadoop

相关实验场景

更多