主要基于对现阶段一些常用的大数据开源框架技术的整理,只是一些简单的介绍,并不是详细技术梳理。可能会有疏漏,发现再整理。参考的太多,就不一一列出来了。这只是作为一个梳理,对以后选型或者扩展的做个参考。
目录
- 系统平台 (Hadoop、CDH、HDP)
- 监控管理 (CM、Hue、Ambari、Dr.Elephant、Ganglia、Zabbix、Eagle)
- 文件系统 (HDFS、GPFS、Ceph、GlusterFS、Swift 、BeeGFS、Alluxio)
- 资源调度 (YARN、Mesos、)
- 协调框架 (ZooKeeper 、Etcd、Consul)
- 数据存储 (HBase、Cassandra、ScyllaDB 、MongoDB、Accumulo 、Redis 、Ignite、Arrow 、Geode、 CouchDB、Kudu、CarbonData)
- 数据处理 (MapReduce、Spark、Flink、Storm、Tez、Samza、Apex、Beam、Heron)
- 查询分析 (Hive、SparkSQL、Presto、Kylin、Impala、Druid、ElasticSearch、HAWQ、Lucene、Solr、 Phoenix)
- 数据收集 (Flume、Filebeat、Logstash、Chukwa )
- 数据交换 (Sqoop 、Kettle、DataX 、NiFi)
- 消息系统 (Pulsar、Kafka、RocketMQ、ActiveMQ、RabbitMQ)
- 任务调度 (Azkaban、Oozie、Airflow)
- 数据治理 (Ranger 、Sentry、Atlas)
- 可视化 (Kibana 、D3.js、ECharts)
- 数据挖掘 (Mahout 、MADlib 、Spark ML、TensorFlow、Keras)
- 云平台 (Amazon S3、GCP、Microsoft Azure)
系统平台
Hadoop:Apache Hadoop是一个开源的分布式系统基础框架,离线数据的分布式存储和计算的解决方案。Hadoop最早起源于Nutch,Nutch基于2003 年、2004年谷歌发表的两篇论文分布式文件系统GFS和分布式计算框架MapReduce的开源实现HDFS和MapReduce。2005年推出,2008年1月成为Apache顶级项目。Hadoop分布式文件系统(HDFS)是革命性的一大改进,它将服务器与普通硬盘驱动器结合,并将它们转变为能够由Java应用程序兼容并行IO的分布式存储系统。Hadoop作为数据分布式处理系统的典型代表,形了成完整的生态圈,已经成为事实上的大数据标准,开源大数据目前已经成为互联网企业的基础设施。Hadoop主要包含分布式存储HDFS、离线计算引擎MapRduce、资源调度Apache YARN三部分。Hadoop2.0引入了Apache YARN作为资源调度。Hadoop3.0以后的版本对MR做了大量优化,增加了基于内存计算模型,提高了计算效率。比较普及的稳定版本是2.x,目前最新版本为3.2.0。
相关网站:Apache Hadoop
CDH:Cloudera CDH是Cloudera基于稳定版Hadoop及相关项目最成型的发行版本。CDH中提供的各种组件能让用户在一个可视化的UI界面中方便地管理,配置和监控Hadoop以及其它所有相关组件。Cloudera成立于2008年,在2009年Cloudera发行了第一个Hadoop集成版本CDH,到目前为止,因为其易用、易于升级、安装组件和减少维护成本等特性,成为企业部署最广泛的大数据系统。在Hadoop的世界中,规模最大、知名度最高的公司就是Cloudera。CDH提供强大的部署、管理和监控工具,通过Cloudera Manager的Web UI安装和管理集群,并且通过Hue浏览器端的Web控制台上与Hadoop集群进行交互来分析处理数据。随着云计算的发展,催生了亚马逊AWS等巨头,他们也会提供托管的Hadoop/Spark服务,如AWS的Elastic Map Reduce(EMR),不仅集成在云平台内部而且成本也更低。而对象存储服务,如AWS S3,Azure Blob存储和Google云端存储,从成本上来说,也低于Hadoop的存储成本。但是,对于重视数据资产的企业来说依旧需要Cloudera产品。Cloudera也一直致力于向云计算转型。2018年10月Cloudera合并Hortonworks,表示新的公司将成为行业领导者,为客户提供更好的平台,创建世界首个企业数据云,并将在云计算、物联网和容器技术等领域继续发力。这对Hadoop的发展方向是一个打击,但也意味着Hadoop的标准将更加统一,将有更多资金投入新技术的研究。CDH目前最新版本为6.2.0。
相关网站:Cloudera CDH
HDP:HDP是Hortonworks在基于Hadoop的发行版本。2014年Hortonworks上市,是企业级全球数据管理平台,同时也是服务和解决方案的领先供应商,为100强企业中的一多半提供“任何类型数据”的可操作信息,已经成为世界第二大数据服务商。Hortonworks是第一家使用了Apache HCatalog的元数据服务特性的提供商。Hortonworks为入门提供了一个非常好的,易于使用的沙盒。Hortonworks开发了很多增强特性并提交至核心主干,这使得Apache Hadoop能够在包括Windows Server和Windows Azure在内的Microsft Windows平台上本地运行,相比于CDH只能运行在Linux系统中。使用Ambari提供Web UI管理集群。HDP好处是完全开源,可以在其基础上进行二次开发,但对于技术比较薄弱中小型企业来说稳定性没有CDH高。2018年10月Cloudera合并Hortonworks,方向暂时未知。HDP目前最新版本为3.1。
相关网站:Hortonworks HDP
集群管理与监控
Clodera Manager:CM是Cloudera开发的一个基于Web的用于部署和管理CDH集群的软件。它具有集群自动化安装、中心化管理、集群监控、报警等功能,大大节省集群部署时间,降低了运维成本,极大的提高集群管理的效率。(非开源)
相关网站:Clodera Manager
Hue:Hue是由Cloudera贡献给开源社区的Hadoop UI系统(Hadoop User Experience),最早是由Cloudera Desktop演化而来,它是基于Python Web框架Django实现的。Hue是一个可快速开发和调试Hadoop生态系统各种应用的一个基于浏览器的图形化用户接口。使用Hue可以在浏览器端的Web控制台上与Hadoop集群进行交互来分析处理数据,例如操作HDFS上的数据、运行MapReduce Job、执行Hive的SQL语句、浏览HBase数据库、运行Sqoop,编写Oozie工作流等等大量工作。Hue是Hadoop平台大数据分析开发的可视化分析利器。
网站:Hue
Ambari:Apache Ambari是Hortonworks贡献给Apache基金会的Hadoop平台管理软件,2013年11月20日成为Apache顶级项目。它具备Hadoop组件的安装、管理、运维等基本功能,提供Web UI进行可视化的集群管理,简化了大数据平台的安装、使用难度。
相关网站:Apache Ambari
Dr.Elephant:Dr.elephant是一款对Hadoop和Spark任务进行性能监控和调优的工具,它由LinkedIn的团队于2016年开源,开源之前已经在公司运行使用2年。它能自动采集作业的度量指标并分析,然后以简单明了的方式展现出来。Dr.elephant的设计思想是通过作业分析结果来指导开发者进行作业调优,从而提升开发者效率和集群资源的利用率。
相关网址:Dr.Elephant
Ganglia:Ganglia是UC Berkeley发起的一个开源集群监视项目,设计用于测量数以千计的节点。Ganglia的核心包含gmond、gmetad以及一个Web前端。主要是用来监控系统性能,如:cpu 、mem、硬盘利用率, I/O负载、网络流量情况等,通过曲线很容易见到每个节点的工作状态,对合理调整、分配系统资源,提高系统整体性能起到重要作用。
相关网站:Ganglia
Zabbix:Zabbix是一个的基于Web界面的开源的分布式企业级监控解决方案。于2004年zabbix 1.0 正式发布,由Alexei Vladishev团队维护更新,Zabbix SIA提供支持。Zabbix通过C/S模式采集数据,通过B/S模式在web端展示和配置。它能够实时监控从成千上万台服务器、虚拟机和网络设备中收集到的数以百万计的指标。Zabbix能监视各种网络参数,保证服务器系统的安全运营,并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。还能够利用存储数据提供杰出的报表及实时的图形化数据处理,实现对监控主机7x24小时集中监控。
相关网站:Zabbix
Eagle:Apache Eagle是一个开源监视和警报解决方案,用于智能实时地识别大数据平台上的安全和性能问题,例如Apache Hadoop,Apache Spark等。 Eagle起源于eBay,最早用于解决大规模Hadoop集群的监控问题,于2015年10月提交给Apache孵化器,2016年12月21日成为Apache顶级项目。Eagle 主要包括:高可扩展、高可伸缩、低延时、动态协同等特点,支持数据行为实时监控,能立即监测出对敏感数据的访问或恶意的操作,并立即采取应对的措施。Eagle 提供一套高效分布式的流式策略引擎,具有高实时、可伸缩、易扩展、交互友好等特点,同时集成机器学习对用户行为建立Profile以实现实时智能实时地保护 Hadoop 生态系统中大数据的安全。
相关网站:Apache Eagle
文件系统
HDFS:HDFS(Hadoop Distributed File System)分布式文件系统,是分布式计算中数据存储管理的基础。是Hadoop Core项目的核心子项目。HDFS是基于流数据模式访问和处理超大文件的需求而开发的,效仿谷歌文件系统(GFS),数据在相同节点上以复制的方式进行存储以实现将数据合并计算的目的。HDFS是一个高度容错性的系统,适合部署在廉价的机器上。HDFS能提供高吞吐量的数据访问,非常适合大规模数据集上的应用。HDFS放宽了一部分POSIX约束,来实现流式读取文件系统数据的目的。它有很多的优点,但也存在有一些缺点,包括:不适合低延迟数据访问、无法高效存储大量小文件、不支持多用户写入及任意修改文件。
相关网站:Hadoop HDFS
GPFS:GPFS(General Parallel File System)是IBM推出的基于Hadoop的并行分布式集群文件系统。IBM认为GPFS不共享集群版本比HDFS快得多,因为它在内核级别中运行,而不是像HDFS在操作系统中运行。GPFS是一个共享磁盘的文件系统,集群内的所有节点可以并行地访问所有共享磁盘,并通过分布式的Token管理机制和条带化技术来管理和优化节点的访问。GPFS支持完整的Posix文件系统语义。GPFS的应用范围非常广泛,从多节点文件共享服务、实时多媒体处理、到大型的高性能计算集群,我们都可以看到GPFS的优秀表现。GPFS在这些应用里面都表现出了非常出色的性能和高可用性。
相关网站:GPFS
Ceph:Ceph是一个开源的统一的分布式存储系统,是高性能的并行文件系统。Ceph是加