Hadoop-HDFS思想的总结

Hadoop-HDFS,思想的总结

Hadoop的工作离线数据处理的简单流程(也就是不是实时更新是数据,如果要实时更新,就要用到spark进行实时处理):
在这里插入图片描述
流程:①②③④⑤⑥⑦⑧
① :是产生的数据源,会将客户的操作等以日志的形式保存
② :这些数据都会上传到Tomact服务器上,进行保存
③ :通过flume对保存到磁盘的数据,进行捕抓到HDFS中的各个datenode
④ :通过mapreduce对HFDS上的数据进行作业调度和集群管理(就是对数据进行预处理)
注:MapReduce是一个基于yarn的并行的处理大数据集的系统
:MapReduce对数据预处理之后,还是在HDFS里
⑤ :把预处理的数据导入hive仓库(数据仓库工具)
⑥ :把在hive仓库的数据,通过ETL,编写SQL
⑦ :存入mysql数据库(其他数据库也行)
⑧ :数据的使用
注:实时处理数据的部分的流程:
①:将flume到数据放置KaFka中,通过spack代码进行处理,更新
②:存入数据库中
③:再数据的使用


HDFS的数据写入工作流程:
在这里插入图片描述
总结:服务器与HDFS存储数据的交互

  1. 服务器向namenode上传文件
  2. Namenode会检查datenode是存在
  3. 存在,则表示可以存
  4. 然后将元数据发送给namenode
  5. Namenode进行查询自身的块信息
  6. 并返回datenode列表给服务器
  7. 服务器就开始向datenode写入数据(以packet形式写入直到该块写完)
    理解:因为有3个副本(或者多个),所以写入到第一个datenode的时候,也会通过该datenode,写给其他的datenode
    副本的放置策略是:就近原则
    ① 在就近的第一台主机放一份
    ② 第二备份与第一台在不同的机架上,随意一台主机–机架犹如书架,一层一层的放主机
    ③ 第三份与第二份在相同的机架上,随意一台主机上放
    副本存在的意义:就是预防数据丢失,存个底
  8. 其他的块,相同的操作流程,直到写完最后一个块
  9. 最后更新元数据

HDFS的读取数据的工作流程:
在这里插入图片描述
(1) 客户端跟namenode通信查询元数据,找到块文件所在的datanode服务器
(2) 挑选一台datanode(就近原则,然后随机)服务器,请求socket流
(3) Datanode开始发送数据给客户端(从磁盘里面读取数据写入流,以packet为单位的)
(4) 客户端已packet为单位去接收数据,先在本地缓存,然后写入目标文件
注:读数据时,会进行数据的校验,如果块损坏,读其他节点上的块

每个节点的作用:
Namenode:负责响应客户端,管理datenode的状态,和存储元数据
Datenode:负责数据块的存储,定时向namenode的报告(自身状态,块的信息,更新元数据)
Sencodarynamenode:namenode管理元数据的辅助节点,默认在同一台机器上
Edits:日志
Fsimage:内存元数据的镜像
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值