大数据:无法在一定时间用常规工具处理的海量信息资产
企业大数据多来源于日志、数据库、爬虫等
Hadoop体系架构:HDFS(Hadoop Distributed File System)、YARN、MapReduce、Common
Hadoop Common:
为其他Hadoop模块提供基础设施
Hadoop HDFS:
一个高可靠、高吞吐量的分布式文件系统
Hadoop MapReduce:
一个分布式的离线并行计算框架
Hadoop YARN:
一个新的MapReduce框架,任务调度与资源管理
HDFS
NameNode: 用于保存元数据信息(Namenode将元数据保存在内存中)
处理客户端的请求
元数据(Filename、副本数,各个副本所在的节点的位置)
DataNode: 用于具体保存数据的(副本数默认为3,可设置)
SecondaryNameNode: 用于同步元数据信息
Client: 发起请求
HDFS读取流程:
client向namenode发起读请求
namenode查元数据,获取文件块列表并返回
client就近选取datanode服务器,读取数据。
HDFS写入请求:
client向namenode发出写请求
请求成功后,写入一条记录,返回datanode列表
client默认按128MB切分文件,将block就近写入datanode
该datanode再将block写给存该block副本的datanode,同时以packet的形式,建立管线写入datanode
写入完成,client向namenode发送完成信号
向YARN提交任务流程简述:
client向resourcemanager发出请求,提交程序
resourcemanager发送命令给一个nodemanager节点,以启动app master
app master启动后向resourcemanager申请资源
app master向资源所在的nodemanager发送命令,启动task任务,app master监控这些任务的完成情况
当这些task执行结束,向app master进行反馈
所有任务结束之后,app master向resourcemanager反馈,回收本次任务的资源
HDFS启动流程及元数据同步
namenode启动,加载元数据,并等待datanode注册,同时进入就安全模式;datanode注册后向namenode发送心跳和block报告。
加载元数据:加载fsimage和edits文件,合并生成新的fsimage,并生成edits文件
shuffle主要操作
进入环形缓冲区,经过以下操作spill to disk(溢写到磁盘)
partitioner(map)分区-getParitition
sorter(map&reduce)依据key排序
combiner(map)局部聚合
spill to disk 将分区排序后的数据写到本地磁盘临时小文件
compress(可选)输出数据压缩
group(reduce)分组
MapReduce计算框架
◆ 将计算过程分为两个阶段:Map和Reduce
Map阶段并行处理输入数据
Reduce阶段对Map结果进行汇总
◆ Shuffle链接Map和Reduce两个阶段
Map Task将数据写到本地磁盘
Reduce Task从每个Map Task上读取一份数据
◆ 仅适合离线批处理
具有很好的容错性和扩展性
适合简单的批处理任务
◆ 缺点明显
启动开销大,过多使用磁盘导致效率低下等
MapReduce是Hadoop提供的一种处理海量数据的并行编程模型和计算框架,用于对大规模的数据进行并行计算。主要由ResourceManager和NodeManager两类节点构成。 其中ResourceManager主要负责集群资源管理,NodeManager负责节点的资源管理。除此之外,当运行mapreduce任务的时候,会产生ApplicationMaster和Container,其中ApplicationMaster负责向ResourceManager节点进行资源的申请并控制任务的执行,Container是最基本的资源单位。mapreduce的map和reduce均是其之上进行运行的。
zookeeper:一个开源分布式的,为分布式应用提供协调服务的框架
resoucemanager HA搭建
| cent01 | cent02 | cent03 |
HDFS | NameNode | NameNode | |
| DataNode | DataNode | DataNode |
| ZKFC | ZKFC | |
| JournalNode | JournalNode | JournalNode |
Zookeeper | QuorumPeerMain | QuorumPeerMain | QuorumPeerMain |
Yarn | | ResourceManager | ResourceManager |
| NodeManager | NodeManager | NodeManager |
- 网站的基本指标
- pv
- uv
- ip
- vv