HDFS shell常用命令的使用:
- ls
- get
- mkdir
- put
- rm
hdfs缺点:不适用于低延迟 的数据访问、小文件存储。
分布式计算框架MapReduce
不适用于:实时计算、流式处理、DAG计算
MapReduce编程模型 :
- input
- map&reduce
- output
资源调度框架 YARN
YARN架构
1RM(ResourceManager)+N NM(NodeManager)
ResourceManager的职责:一个集群active状态的RM只有一个,负责整个集群的资源管理和调度
- 处理客户端的请求(启动、杀死)
- 启动、监控ApplicationMaster(一个作业对应一个AM)
- 监控NM
- 系统的资源调度和分配
NodeManager:整个集群中有N个,负责单个节点的资源管理和使用,以及task的运行情况
- 定期向RM汇报本节点的资源使用请求和各个Container的运行状态
- 接受并处理RM的Container启动的各种命令
- 单个节点的资源管理和任务管理
ApplicationMaster:每个应用/作业对应一个,负责应用程序的管理
- 数据切分
- 为应用程序向RM申请资源(container),并分配给内部任务
- 与NM通信以启停task,task是运行在container中的
- task的监控和容错
container:对任务运行情况的描述:cpu,memory、环境变量
Hive产生背景:HDFS上的文件缺少scheme,MapReduce编程不便
通常用于离线数据处理