赞
踩
Hadoop 生态是指围绕 Hadoop 大数据处理平台形成的一系列开源软件和工具,用于支持大规模数据处理、存储、管理、分析和可视化等应用场景。暂时将其核心技术分为9类:
目前常用的Hadoop 生态包括:
下满我们简单对比一下这9类技术中各个技术栈的差异。
数据分析的前提是先要采集数据,因此数据采集是大数据的基础。
数据采集的技术框架有以下几种:
对比项 | Flume | logstash | Filebeat |
---|---|---|---|
来源 | Apache | Elastic | Elastic |
开发语言 | Java | jruby | go |
内存消耗 | 高 | 高 | 低 |
CPU消耗 | 高 | 高 | 低 |
容错性 | 高,内部事务机制 | 高,内部持久化队列 | 无 |
负载均衡 | 支持 | 支持 | 支持 |
插件 | 丰富的输入输出插件 | 丰富的输入输出插件 | 只支持文件数据采集 |
数据过滤 | 提供拦截器 | 强大过滤能力 | 弱有过滤能力 |
二次开发 | 对java程序员容易 | 难 | 难 |
对比项 | Sqoop | DataX |
---|---|---|
来源 | Apache | 阿里 |
开发语言 | Java | Java |
运行模式 | MapReduce | 单进程多线程 |
分布式 | 支持 | 不支持 |
执行效率 | 高 | 中 |
数据源类型 | 仅支持关系型数据库和Hadoop相关存储系统 | 支持20多种 |
扩展性 | 一般 | 高 |
对比项 | canal | Maxwell |
---|---|---|
来源 | 阿里 | zendesk |
开发语言 | Java | Java |
数据格式 | 自由 | json格式 |
HA | 支持 | 不支持 |
bootstrap | 不支持 | 支持 |
分区 | 支持 | 支持 |
随机读 | 支持 | 支持 |
数据存储技术框架包括HDFS、HBase、Kudu、Kafka等
企业的服务器资源(内存、CPU等)是有限的,也是固定的。但是,服务器的应用场景却是灵活多变的,随着大数据时代的到来,临时任务的需求量大增,这些任务往往需要大量的服务器资源。因此服务器资源的分配,入股完全依赖运维人员人工对接,太过耗时耗力。因此需要分布式资源管理系统, 常见的有YARN、Kubernetes、Mesos。
数据计算分为离线数据计算和实时数据计算
比较项 | storm | SparkStreaming | Flink |
---|---|---|---|
计算模型 | Native | Micro-Batch | Native |
API类型 | 组合式 | 声明式 | 声明式 |
语义级别 | At-Least-Once | Exectly-Once | Exectly-Once |
容错机制 | Ack | Checkpoint | checkpoint |
状态管理 | 无 | 有 | 有 |
数据分析技术框架包括Hive、Impala、Kylin、Clickhouse、Druid、Drois等
Hive、Impala、Kylin 属于离线OLAP数据分析引擎:
比较项 | Hive | Impala | Kylin |
---|---|---|---|
计算引擎 | MapReduce | 自研app | MapReduce/Spark |
计算性能 | 中 | 高 | 高 |
稳定性 | 高 | 低 | 高 |
数据规模 | TB级别 | TB级别 | TB、PB级别 |
SQL支持度 | HQL | 兼容HQL | 标准SQL |
Clickhouse、Druid、Doris 属于实时OLAP数据分析引擎:
比较项 | Druid | ClickHouse | Doris |
---|---|---|---|
查询性能 | 高 | 高 | 高 |
高并发 | 高 | 低 | 高 |
实时数据插入 | 支持 | 支持 | 支持 |
实时数据更新 | 不支持 | 弱 | 中 |
join 操作 | 有限 | 有限 | 支持 |
SQL支持 | 有限 | 非标准SQL | 较好 |
成熟度 | 高 | 高 | 中 |
运维复杂度 | 中 | 高 | 低 |
6、任务调度技术框架:
任务调度技术框架包括Azkaban、ooiz、DolPhinScheduler等。 主要适用于普通定时任务执行,以及包含复杂依赖关系的多级任务进行调度,支持分布式,保证调度系统的性能和稳定性。
比较项 | Azkaban | ooiz | DolphinScheduler |
---|---|---|---|
任务类型 | shell脚本及大数据任务 | shell脚本及大数据任务 | shell脚本及大数据任务 |
任务配置 | 自定义DSL语法配置 | XML文件配置 | 页面拖拽配置 |
任务暂停 | 不支持 | 支持 | 支持 |
高可用(HA) | 通过DB支持 | 通过DB支持 | 支持( 多master 多worker ) |
多租户 | 不支持 | 不支持 | 支持 |
邮件告警 | 支持 | 支持 | 支持 |
权限控制 | 粗粒度 | 粗粒度 | 细粒度 |
成熟度 | 高 | 高 | 中 |
易用性 | 高 | 中 | 高 |
所属公司 | Linkedln | Cloudeara | 中国易观 |
大数据底层技术框架只要指zookeeper。
大数据生态圈中的hadoop、HBase、Kafka等技术组件的运行都会用到zookeeper, 它主要提供基础功能,如:命名空间、配置服务等
数据检索主流的技术是Elasticseacrch, 其它的还有Lucene、Solr等。
对比项 | Lucene | Solr | Elasticsearch |
---|---|---|---|
易用性 | 低 | 高 | 高 |
扩展性 | 低 | 中 | 高 |
稳定性 | 中 | 高 | 高 |
集群运维难度 | 不支持集群 | 高 | 低 |
项目集成度 | 高 | 低 | 低 |
社区活跃度 | 中 | 中 | 高 |
如果企业想从传统的数据处理转型到大数据处理, 首先要做的就是搭建一个稳定可靠的大数据平台。 而一个完整的大数据平台包含数据采集、数据存储、数据计算、数据分析、集群监控等,这些组件要部署到上百台甚至上千台机器中。 如果完全依靠运维人员追个安装,工作量太大,且各个技术栈之间还会有版本匹配的问题。
基于上面的问题, 大数据集群安装管理工具便诞生了。目前常见的包括CDH、HDP、CDP, 他们对大数据组件进行了封装,提供了一体化的大数据平台,可以快速安装大数据组件。
文章转载自,做个部分修改和补充: 一文看懂大数据生态圈完整知识体系
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。