大数据架构学习之——数据处理

根据处理的及时性不同,可以分为离线处理和在线处理
在线处理对实时响应要求较高,离线处理对实时响应没有要求
hadoop是生产饮料的公司  随着市场的扩张,目前的仓库不能满足现在的存储要求,需要在郊外扩张几个仓库,类似于hdfs 的分布式存储,解决了原材料的存储问题
flume 提供水源质量不稳定,hadoop 采用自定检测水的仪器mapper 和最先进的组装生产线reducer,mapper 可以对水质样本进行自动检测分类,然后reducer将统一等级的水合并在一个大桶中,这就是mapreduce 框架基本思想

这种将任务切分,并行操作,最后合并结果的方法,适用于很多分布式处理场合,例如wordcount
可以先将文章内容切分,让多个分词器同时进行统计,然后进行合并
还有个常见案例就是对于大量的数据进行去重,将不同的数据对象切分,让多个处理器根据去重时所比对的字段散列值,归拢数据并存入散列表,然后合并去重复部分。
这个框架核心是散列表的映射结构。散列:(key,value) key 和value 之间有某种算法的关系
MR框架包含了几个重要组成模块:
1.数据分割(data splitting) 将数据源进行分割,将分片发送到mapper 上,例如文档每一行作为一个最小处理单元
2.映射(mapping) mapper 根据应用需求,将内容按照键值匹配,存储到散列结构中<k,v>
3.洗牌(shuffling)将key-value 不断发给reducer进行归纳,如果存在多个reducer,还会分配partitioning 对reducer 进行选择,eg:beijing,shanghai 等地名就专门交给统计地点的reducer 完成
4.归约 分析接收到的键值对,如果键内容相同的,就将它们的值合并
5.为了提升洗牌效率,可以减少发送给reducer的键值对,可以在每个mapper 节点先进行一次归纳,再将归纳结果发送到reducer

HDFS 中有namenode,secondarynode,datanode.

namenode维护这系统中大量元数据,负责管理文件系统的命名空间和控制外部访问

secondarynode 和 namenode 进行节点间的通信,根据配置定期地获取其上的元数据快照,达到备份和灾备的目的。

datanode 存储数据。 这里需要补充另外两个主要概念:工作追踪节点(job traker),任务追踪节点(task tracker)

工作跟踪节点是应用程序和hadoop之间的纽带。 一旦代码提交到hadoop 集群上,工作跟踪节点就会执行计划,包括决定处理哪些文件,为不同的任务分配节点,以及监控所有任务的运行,如果任务失败,工作跟踪节点将会根据配置打开重试机制,自动重启任务,

每个hadoop集群通常只有1个工作跟踪的守护进程,它和命名节点的守护进程一起运行在主节点上,监测MapReduce 作业的整个执行过程。

任务跟踪节点task tracker 管理各个任务在每个从节点上的运行情况,负责运行有工作跟踪节点分配的单项任务,因此,任务跟踪节点和工作跟踪节点会不断通信,实现心跳机制,用于监控,如果工作跟踪节点没有在指定的时间内收到某个任务跟踪节点的心跳消息,它会假定该任务跟踪节点已经死机,然后将任务重新分配到集群中的其他节点上,这就是前面提到的容错性和可靠性。由于工作跟踪节点和命名节点都是主节点,因此它们通常都部署在同样的服务器,而任务跟踪节点和数据节点都是从节点,它们也可以部署在同样的服务器上。

mapreduce 框架的问题:

job tracker 它是mapreduce 集中点,完成太多任务,造成过多资源消耗,存在单点故障的可能,而在task tracker 端,用任务的数量来衡量负载方式过于简单,没有考虑中央运算器cpu,内存,硬盘等使用情况,可能会出现负载不均,或者某些节点过载。 针对这种情况,apache hadoop yarn 是一种新的资源管理器,为上层应用提供了统一的hadoop 资源管理和调度。yarn 将工作节点的两个主要功能分成了两个独立的服务程序:全局资源管理器(resource manager) 和针对每个应用的主节点(application master)。这样是为了让子任务的监测进行分布式处理,大幅度减少了job tracker

的资源消耗。这里的任务既可以是mapreduce 任务也可以是DAG无环图任务。在yarn 的基础上,还可以使用spark ,storm,这样的流式计算和实时性作业,并利用hadoop 集群的计算能力和丰富的数据存储类型,来提升数据共享和集群的利用率。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值