待续: Hadoop shuffle流程
Hive调优
kafka 数据重复和数据乱序:幂等性
flume调优
监控
hadoop
0.什么是hadoo
Hadoop是一个分布式系统基础架构,解决数据存储和数据分析计算的问题
1.hadoop三大框架及作用
1.HDFS:数据的存储
2.Mapreduce:数据的计算
3.YARN :给计算框架分配资源
2.HDFS读流程
1.Client 调用 FS.ope与NN通信,
NN以FSDataInputS返回部分或全部的block列表
2.Client调用FSDataInputS.read
去第一个块最近的DN读取
读取完成,check,若ok关闭DN通信
读取失败,记录DN和block
下次不再从这个节点读取,找第二个节点
3.当block读取完,文件未读取完,则调用下一批block
4.Client调用FSDataInputS.close关闭输入流
3.HDFS写流程
1.Client调用FS.create方法和nn通信,
检查是否路径文件是否存在,
检查是否有权限去创建
检查通过创建文件
2.nn根据文件大小,块大小,副本数参数】
计算块的数量,和存储DN位置,
返回给FSOutS
3.Client调用FSOutS.write方法
将第一个块的第一个副本写在第一个DN上
在第二个DN写第二副本
在第三个DN写第三副本
4.当第三个副本写完,返回一个ack包给DN2节点
DN2也写完返回一个ack包给DN1
DN1也写完返回一个ack包给FSOuts
5.重复流程直到所有块写完,client调用
FSOutS的close,告诉NN,文件写完
4.yarn流程
1.client向RM提交job,申请job_id
2.RM返回job_id和作业的路径给client
3.client将数据提交到指定路径
4.client向RM提交执行作业请求
5.RM 创建一个Appmaster管理该job
6.Appmaster将该job添加到ResourceScheduler
7.到该job执行时,ResourceScheduler通知Appmaster有一个空闲的NM
8.Appmaster启动NM,让NM开辟容器,并启动job对应的Appmaster
9.Appmaster获取HDFS的文件
10.Appmaster向RM申请运行资源
11.RM分配task任务,NM创建用于执行task的容器
12.Appmaster通知NM启动计算
13.NM计算,并执行后续的task
14.Appmaster向RM申请注销
5.Mapreduce流程
1.map task
1.读取数据,对文件切片得

最低0.47元/天 解锁文章
6087

被折叠的 条评论
为什么被折叠?



