大数据 第一章 hdfs概念和原理

hdfs学习

基础概念

1.hdfs为分布式文件存储系统,分为namenode和datanode两大类型节点,namenode负责元数据的管理(如块大小,副本大小,块存放位置等),datanode负责具体数据的管理。
2.可以设置副本数量,每个块的大小等。

namenode元数据管理

checkpoint

1.namenode的实时的完整的元数据存储在内存中;namenode还会在磁盘中(dfs.namenode.name.dir)存储内存元数据在某个时间点上的镜像文件;
namenode会把引起元数据变化的客户端操作记录在edits日志文件中;
2.secondarynamenode会定期从namenode上下载fsimage镜像和新生成的edits日志,然后加载fsimage镜像到内存中,然后顺序解析edits文件,对内存中的元数据对象进行修改(整合)整合完成后,将内存元数据序列化成一个新的fsimage,并将这个fsimage镜像文件上传给namenode
上述过程叫做:checkpoint操作
3.提示:secondary namenode每次做checkpoint操作时,都需要从namenode上下载上次的fsimage镜像文件吗?
第一次checkpoint需要下载,以后就不用下载了,因为自己的机器上就已经有了。
checkpoint过程图示

客户端写数据到hdfs的流程

1.客户端请求写文件/aa/jdk.tgz
2.namenode告知可写
3.请求写入第一个block
4.namenode返回全部的datanode
5.客户端挑选一个node1,请求建立文件传输的连接
6.因为要有副本,node1请求和node2建立传输连接
7.node2请求和node3建立传输连接
8.node3响应了node2
9.node2响应了node1
10.node1响应了客户端
11.客户端本地文件输入流,通过网络输出流,传输给node1,node1是网络输入流,本地流写文件,同时网络输出向node2传输文件,以此类推。
12.写完第一个block之后,重复3-11的流程
13.数据全部写完之后,告知namenode
14.namenode会记录元数据信息
15.如果存在node保存文件失败,会定时向namenode报告,namenode来判断是否来复制,或者是否是脏数据要丢弃。

客户端从hdfs读数据的流程

1.客户端请求读数据/aa/jdk.taz
2.namenode返回元数据信息[BLK_1:DN1,ND2,DN3]
[BLK_2:DN1,ND2,DN3]
3.客户端选择其中一个机器,请求建立连接,进行数据传输
4.读完之后再选择BLK_2中的机器进行数据传输

  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
系统中,Hadoop与MapReduce A:大数据技术原理与应用第三章主要介绍了分布式文件系统和MapReduce并行计算框架中的Hadoop技术,包括Hadoop的概念、特点、架构、组件、安装、使用等方面。在分布式文件系统中,Hadoop使用HDFS作为其基础架构,实现文件存储和访问的高可用性和可扩展性,能够支持大规模的数据存储和处理。而MapReduce是Hadoop提供的一种分布式并行计算框架,能够将大规模数据处理任务分解成多个小任务,在分布式计算环境中进行并行计算,从而提高数据处理能力和效率。 Hadoop的组件包括HDFS、YARN和MapReduce。其中,HDFS作为文件存储系统,YARN是Hadoop的资源管理框架,用于管理集群资源,对作业进行调度和监控。MapReduce是Hadoop的分布式计算框架,其基本思想是将计算任务分解成多个小任务,并在分布式计算环境中进行并行计算。在MapReduce执行过程中,Map函数用于将输入数据划分为若干份,并由多个Map任务同时处理,生成键值对;Reduce函数用于对Map任务生成的键值对进行汇总和统计,得到最终的结果。 Hadoop的安装和使用需要先配置环境,然后下载和安装Hadoop软件包,进行集群配置和启动,具体的安装和使用过程在第三章中有详细说明。 总结来说,Hadoop技术是大数据处理中非常重要的基础技术之一,能够支持大规模数据存储和处理,提高数据处理能力和效率。MapReduce并行计算框架是Hadoop的重要组件,能够将大规模数据处理任务分解成多个小任务,在分布式计算环境中进行并行计算。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值