大数据相关组件

一、 HDFS

HDFS是hadoop的核心组件,HDFS上的文件被分成块进行存储,默认块的大小是64M,块是文件存储处理的逻辑单元。

HDFS是Master和Slave的结构。分NameNode、SecondaryNameNode、DataNode这几个角色。

NameNode:是Master节点,管理数据块映射,处理客户端的读写请求,配置副本策略,管理HDFS的名称空间;

SecondaryNameNode:是NameNode的冷备份,分担NameNode的工作量,合并fsimage和fsedits然后再发给NameNode,定期同步元数据映像文件和修改日志,当NameNode发生故障时,备份转正。

DataNode:是Slave节点,负责存储client发来的数据块block,执行数据块的读写操作,定期向NameNode发送心跳信息。

特点:

  • 数据冗余,硬件容错,每个数据块有三个备份;

  • 流式的数据访问,数据写入不易修改;

  • 适合存储大文件,小文件会增加NameNode的压力。

  • 适合数据批量读写,吞吐量高;

  • 不适合做交互式应用,低延迟很难满足;

  • 适合一次写入多次读取,顺序读写;

  • 不支持多用户并发写相同文件。

二、 MapReduce

MapReduce的工作原理用一句话概括就是,分而治之,然后归约,即将一个大任务分解为多个小任务(map),并行执行后,合并结果(reduce)

整个MapReduce的过程大致分为Map-->Shuffle(排序)-->Combine(组合)-->Reduce。

三、 YARN

YARN是Hadoop 2.0中的资源管理系统,它的基本设计思想是将MRv1中的JobTracker拆分成了两个独立的服务:

  • 全局的资源管理器ResourceManager,负责整个系统的资源管理和分配

  • 每个应用程序特有的ApplicationMaster,负责单个应用程序的管理。

四、 Hive

Hive是构建在Hadoop HDFS上的一个数据仓库,可以将结构化的数据文件映射为一张数据库表,并提供类SQL查询功能,其本质是将SQL转换为MapReduce程序。

Hive的表其实就是HDFS的目录/文件。

五、Hbase

是一个领先的No-SQL数据库,它在HDFS上存储数据,是面向列的数据库

六、Spark

是一个快速、通用的大规模数据处理引擎 (基于scala开发)

​ 1、spark rdd:弹性分布式数据集

​ 2、spark sql:Spark中结构化数据处理模块。使用Spark SQL提供的接口

​ 3、spark streaming:spark实时计算引擎

​ 4、spark graphx: spark图形数据库

​ 5、spark mLlib:spark机器学习

七、Flink

Apache Flink 是为分布式、高性能、随时可用以及准确的流处理应用程序打造的开源流处理框架

猜你喜欢

转载自blog.csdn.net/qq837993702/article/details/128771806