概述
分布式系统作为一个整体对用户提供服务,而整个系统的内部协作对于用户来说是一个黑盒子。
分布式平台 Hadoop
特性:
- 高可靠
- 高效
- 高可扩展
- 高容错
- 底层本
- 成熟生态圈
核心组件
- HDFS:将文件切分成指定大小的数据块并以多副本的方式存储在多个机器上。
- MapReduce:分布式计算模型,完成海量数据离线处理
- Yarn:负责整个集群资源的管理和调度
生态系统
组件 | 功能 |
---|---|
HDFS | 分布式文件系统,进行分布式存储 |
MapReduce | 分布式并行编程模型 |
YARN | 资源管理和调度器 |
Zookeeper | 提供分布式协调一致性服务 |
Hive | Hadoop上的数据仓库,将SQL语句转化为Hadoop任务取执行,降低了使用Hadoop的门槛 |
HBase | Hadoop上的非关系型的分布式数据库 |
Kafka | 一种高吞吐量的分布式发布订阅消息的系统,可以处理消费者规模的网站中的所有动作数据流 |
Sqoop | 用于在Hadoop与传统数据库之间进行数据传递 |
Flume | 一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统 |
Stom | 流计算框架 |
Spark | 类似于Hadoop的MapReduce的通用并行框架 |
HDFS
- 分布式文件系统
- 块(block):HDFS的文件被分成块以副本的形式存储在多个节点上。
- HDFS中的两类节点:
NameNode:管理节点,存放文件的元数据
DataNode:工作节点,存放数据块
MapReduce
采用分而治之的思想,把对大规模数据集的操作,分发给一个主节点管理下的各个子节点共同完成。
MapReduce框架采用了Master/Slave架构,包括一个Master和若干个Slave。