hadoop学习---hdfs

hdfs默认基本存储单元为64mb,hdfs的块比磁盘的块大得多,是为了减少寻址开销。如块大小是100mb,寻址时间在10ms,传输速率是100mb/s,则寻址时间是传输时间的1%

hdfs的三个重要角色:client,datanode,namenode

namenode相当于hdfs中的管理者,管理文件系统的命名空间。它维护着这个文件系统树以及树内所有的文件和索引目录。它会存储文件系统的metadata在内存中。

datdanode相当于hdfs中的工作者,是文件存储的基本单元。周期性地向namenode报告它所存储的block的列表

client就是获取hdfs文件的应用程序,通过与namenode、datanode交互来访问整个文件系统,client提供一个类似posix(可移植操作系统界面)的文件系统接口,因此用户在编程时不需要知道namenode、datanode及其功能。

(1)文件写入

  • client向namenode发起写文件的请求
  • namenode根据文件大小和文件块配置请看,返回给client它所管理的部分datanode的信息
  • client将文件划分为多个block,根据datanode的地址信息,按顺序写入到每个datanode中

(2)文件读取

  • client向namenode发起读文件请求
  • namenode返回存储该文件的datanode的信息
  • client读取文件

(3)block复制

  1. namenode发现部分文件的block不符合最小复制数或者部分datanode失效
  2. 通知datanode相互复制block
  3. datanode开始相互复制
时间: 2024-07-28 22:58:34

hadoop学习---hdfs的相关文章

hadoop学习;hdfs操作;运行抛出权限异常: Permission denied;api查看源码方法;源码不停的向里循环;抽象类通过debug查找源码

eclipse快捷键alt+shift+m将选中的代码封装成方法:alt+shift+l将选中的代码添加对应类型放回参数 当调用一个陌生方法时,进入源码不停的向里循环,当找不到return类似方法的时候,可以看到最原始的方法 package com.kane.hdfs; import java.io.InputStream; import java.net.URL; import org.apache.hadoop.fs.FsUrlStreamHandlerFactory; import org

Hadoop 学习 HDFS

1.HDFS的设计 HDFS是什么:HDFS即Hadoop分布式文件系统(Hadoop Distributed Filesystem),以流式数据访问模式来存储超大文件,运行于商用硬件集群上,是管理网络中跨多台计算机存储的文件系统. HDFS不适合用在:要求低时间延迟数据访问的应用,存储大量的小文件,多用户写入,任意修改文件. 2.HDFS的概念 HDFS数据块:HDFS上的文件被划分为块大小的多个分块,作为独立的存储单元,称为数据块,默认大小是64MB. 使用数据块的好处是: 一个文件的大小可

Hadoop学习-hdfs安装及其一些操作

hdfs:分布式文件系统 有目录结构,顶层目录是:  /,存的是文件,把文件存入hdfs后,会把这个文件进行切块并且进行备份,切块大小和备份的数量有客户决定. 存文件的叫datanode,记录文件的切块信息的叫namenode Hdfs的安装 准备四台linux服务器 先在hdp-01上进行下面操作 配置域名映射 vim /etc/hosts 主机名:hdp-01  对应的ip地址:192.168.33.61 主机名:hdp-02  对应的ip地址:192.168.33.62 主机名:hdp-0

Hadoop学习笔记_7_分布式文件系统HDFS --DataNode体系结构

分布式文件系统HDFS --DataNode体系结构 1.概述 DataNode作用:提供真实文件数据的存储服务. 文件块(block):最基本的存储单位[沿用的Linux操作系统地概念].对于文件内容而言,一个文件的长度大小是size,那么从文件的0偏移开始,按照固定的大小,顺序对文件进行划分并编号,划分好的每一个块称一个Block. 与Linux操作系统不同的是,一旦上传了一个小于Block大小的文件,则该文件会占用实际文件大小的空间. 2.进入hdfs-default.xml <prope

hadoop学习笔记-HDFS的REST接口

在学习HDFS的过程中,重点关注了HDFS的REST访问接口.以前对REST的认识非常笼统,这次通过对HDFS的REST接口进行实际操作,形成很直观的认识. 1? 写文件操作 写文件操作分为两个命令,第一个命令先产生一个重定向(TEMPORARY_REDIRECT)响应报文,响应报文中的Location字段即为重定向的目标地址,这个目标地址指向的就是分配的datanode,用以存储后面写入的内容.第二个命令的URL写的就是第一个命令重定向的目标地址.(注意:在路径前面需要加"/webhdfs/v

Hadoop学习笔记_5_分布式文件系统HDFS --shell操作

分布式文件系统HDFS --shell操作 分布式文件系统[Distributed File System]概述 数据量越来越多,在一个操作系统管辖的范围存不下了,那么就分配到更多的操作系统管理的磁盘中,但是不方便管理和维护,因此迫切需要一种系统来管理多台机器上的文件,这就是分布式文件管理系统 . 分布式文件系统特点: 是一种允许文件通过网络在多台主机上分享的文件系统,可让多机器上的多用户分享文件和存储空间. 通透性.让实际上是通过网络来访问文件的动作,由程序与用户看来,就像是访问本地的磁盘一般

Hadoop学习笔记_6_分布式文件系统HDFS --NameNode体系结构

分布式文件系统HDFS --NameNode体系结构 NameNode 是整个文件系统的管理节点. 它维护着整个文件系统的文件目录树[为了使得检索速度更快,该目录树放在内存中], 文件/目录的元信息和每个文件对应的数据块列表. 接收用户的操作请求. Hadoop确保了NameNode的健壮性,不容易死亡.文件目录树以及文件/目录的元信息等归根到底是存放在硬盘中的,但是在Hadoop运行时,需要将其加载到内存中. 文件包括: fsimage:元数据镜像文件.存储某一时段NameNode内存元数据信

Hadoop学习笔记0002——HDFS文件操作

  说明:Hadoop之HDFS文件操作常有两种方式,命令行方式和JavaAPI方式. 方式一:命令行方式 Hadoop文件操作命令形式为:hadoop fs -cmd <args> 说明:cmd是具体的文件操作命令,<args>是一组数目可变的参数. Hadoop最常用的文件操作命令,包括添加文件和目录.获取文件.删除文件等. 1 添加文件和目录 HDFS有一个默认工作目录/usr/$USER,其中$USER是你的登录用户名,作者的用户名是root.该目录不能自动创建,需要执行m

Hadoop学习之路(九)HDFS深入理解

HDFS的优点和缺点 HDFS的优点 1.可构建在廉价机器上 通过多副本提高可靠性,提供了容错和恢复机制 服务器节点的宕机是常态   必须理性对象 2.高容错性 数据自动保存多个副本,副本丢失后,自动恢复 HDFS的核心设计思想:  分散均匀存储 + 备份冗余存储 3.适合批处理 移动计算而非数据,数据位置暴露给计算框架 海量数据的计算 任务 最终是一定要被切分成很多的小任务进行 4.适合大数据处理 GB.TB.甚至 PB 级数据,百万规模以上的文件数量,10K+节点规模 5.流式文件访问 一次