大数据处理
单处理器器:提升计算机处理器字长,提高处理器芯片集成度,提高处理器主频,改进处理器微架构(流水线技术)。。。。没办法了再提高了
多处理器技术,AMD和Intel。对称多处理器架构,非对称多处理器架构
并行计算
在具有并行处理能力的计算节点上,将一个计算任务分解成多个并行子任务,分配给不同的处理器
并行机
处理器(超标量技术,显式并行指令计算,向量处理器,多线程技术),内存(分布式内存结构,共享内存结构,),网络(静态拓扑结构,动态拓扑结构,高速互连网络)
并行算法
划分:大人物分解成若干个小任务
通信:任务间发生的数据交换。设计子任务的通道连接关系,形成任务通道拓扑,设计出一种高校的通道拓扑和消息传递方式,支持整个任务的高效执行
任务组合:扩大任务粒度(提高算法的性能),保持算法可扩展性,降低程序实现复杂度
处理器映射:提高并行度,提高局部执行效率
MapReduce并行计算技术
Map面对的是杂乱无章的互不相关的数据,解析每个数据,提取出key和value,提取数据的特征。经过shuffle阶段之后,在reduce看到已经归纳好的数据
MapReduce:基于集群的高性能并行计算平台,并行计算与运行软件框架,并行程序设计模型与方法
主要功能:数据划分和计算任务调度,数据/代码互定位,系统优化,出错检测和恢复
map端的shuffle过程:执行map,缓存写入,溢写,文件归并
reduce端的shuffle过程:copy过程,merge过程,reducer的输入文件
mapreduce1架构
client:用户编写的mapreduce程序通过client提交到jobtarcker端
jobtarcker:主要负责资源监控和作业调度
tasktracker:周期性的通过heanbeat将本节点上资源使用情况和任务运行进度给jobtarcker,接受jobtarcker的命令执行相应的操作
task:map task和reduce task 。tasktracker发起
生命周期:作业提交与初始化,任务调度与监控,任务运行环境准备,任务执行,作业完成
YARN
ResourseManager(RM):控制整个集群并管理应用程序向基础计算资源的分配
ApplicationMaster(AM):负责协调ResourseManager的资源,通过NodeManager监视容器的执行和资源使用
NodeManager(NM):管理YARN集群中的每个节点
Container:封装了某个节点上的多维度资源
mapreduce性能调优
参数配置优化
数据压缩
启用JVM