HDFS 总结

HDFS是一个分布式文件存储系统

Client  提交读写请求(拆分blocksize)

NameNode 全局把控(知道blocksize的地址)

dataNode 存储数据(将数据存储进去,且以Pipeline的方式把数据写完)

1.如果你要把数据写到HDFS上去,的流程是

发起请求-client(接受数据,blocksize(64或182M),副本因子默认3个)-发起请求到dataNode(blocksize,副本因子)-dataNode(计算空闲的dataNode,并且按照距离的远近进行排序,并且通知NameNode)-

NameNode将数据发送到dataNode-dataNode收到dataNode会将数据发送到下一个直到最后一个直到写完-将写完的数据返回给NameNode-如果要上传的数据大于128M将会重复执行相同的数据

2.HDFS读文件

客户端发起请求-NameNode得到请求-NameNode返回元数据(block,dataNode的集合(也是经过排序的)) -客户端收到元数据信息并且与dataNode进行交互下载数据

如果dataNode挂了,或者有异常

HDFS也解决可以

HDFS优缺点

优点

1.数据冗余,硬件容错(多副本机制)

2.处理流式的数据访问(一次写入多次读取)

3.适合存储量大的文件夹

4.可以构建在廉价的机器上

缺点

1.低延迟的数据访问

2.不适合小文件的存储(小文件多元数据多,对于hdfs NameNode的压力就更大)

原文地址:https://www.cnblogs.com/chenligeng/p/9348286.html

时间: 2024-10-28 15:27:16

HDFS 总结的相关文章

三:QJM HDFS高可用

本文介绍的是HDFS的一种HA方案.虽然有checkpoint node \backup node等,但是不能实现自动的failover. http://hadoop.apache.org/docs/r2.6.3/hadoop-project-dist/hadoop-hdfs/HDFSHighAvailabilityWithQJM.html 1.在2.0.0版本以下,namenode是单个的,如果namenode宕机,就会导致整个集群不可用.QJM 是HA的一种实现方式,通过master/sla

七:HDFS Permissions Guide 权限

1.权限模式     简单:启动HDFS的操作系统用户即为超级用户,可以通过HADOOP_USER_NAME指定 kerberos: 2.group mapping 组列表由group mapping service完成,该服务由hadoop.security.group.mapping参数决定,默认值是org.apache.hadoop.security.JniBasedUnixGroupsMappingWithFallback,即由JNI. 如果没有JNI, 使用org.apache.had

HDFS

一.HDFS基础知识 1. namenode 负责: 管理着文件系统命名空间 – 维护着文件系统树及树中的所有文件和目录    存储元数据 – NameNode保存元信息的种类有: • 文件名目录名及它们之间的层级关系 • 文件目录的所有者及其权限 • 每个文件块的名及文件有哪些块组成 元数据保存在内存中 – NameNode元信息并不包含每个块的位置信息 元信息持久化 - 在NameNode中存放元信息的文件是fsimage.在系统运行期间所有对元信息的操作都保存在内存中并被持久化到另一个文件

数据采集之Web端上传文件到Hadoop HDFS

前言 最近在公司接到一个任务,是关于数据采集方面的. 需求主要有3个: 通过web端上传文件到HDFS; 通过日志采集的方式导入到HDFS; 将数据库DB的表数据导入到HDFS. 正好最近都有在这方面做知识储备.正所谓养兵千日,用兵一时啊.学习到的东西只有应用到真实的环境中才有意义不是么. 环境 这里只做模拟环境,而不是真实的线上环境,所以也很简单,如果要使用的话还需要优化优化. OS Debian 8.7 Hadoop 2.6.5 SpringBoot 1.5.1.RELEASE 说明一下,这

Apache Hadoop集群离线安装部署(一)——Hadoop(HDFS、YARN、MR)安装

虽然我已经装了个Cloudera的CDH集群(教程详见:http://www.cnblogs.com/pojishou/p/6267616.html),但实在太吃内存了,而且给定的组件版本是不可选的,如果只是为了研究研究技术,而且是单机,内存较小的情况下,还是建议安装Apache的原生的集群拿来玩,生产上自然是Cloudera的集群,除非有十分强大的运维. 我这次配了3台虚拟机节点.各给了4G,要是宿主机内存就8G的,可以搞3台2G,应该也是ok的. 〇.安装文件准备 Hadoop 2.7.3:

Hadoop核心组件:四步通晓HDFS

Hadoop分布式文件系统(HDFS)被设计成适合运行在通用硬件上的分布式文件系统,它提供高吞吐量来访问应用程序的数据,适合那些有着超大数据集的应用程序,那么在实际应用中我们如何来操作使用呢? 一.HDFS操作方式: 1.  命令行操作 –FsShell:$ hdfs dfs 2. 其他的计算框架-如spark 通过URI,比如: hdfs://nnhost:port/file-,调用HDFS的协议.主机.端口或者对外提供的服务媒.以及文件,在spark的程序中实现对HDFS的访问. 3.  其

sqoop同步mysql到hdfs

链接:http://pan.baidu.com/s/1gfHnaVL 密码:7j12 mysql-connector version 5.1.32 若在安装版本过程遇到些问题,可参考http://dbspace.blog.51cto.com/6873717/1875955,其中一些问题的解决办法 下载并安装: cd /usr/local/tar -zxvf sqoop2-1.99.3-cdh5.0.0.tar.gzmv sqoop2-1.99.3-cdh5.0.0 sqoop添加sqoop2到系

eclipse 向HDFS中写入文件报错 permission denied

环境:win7  eclipse    hadoop 1.1.2 当执行创建文件的的时候, 即: fileSystem.mkdirs(Path);//想hadoop上创建一个文件报错 报错: org.apache.hadoop.security.AccessControlException:Permission denied:user=Administrator,access=WRITE,inode="tmp":root:supergroup:rwxr-xr-x 原因: 1. 当前用户

[转载]HDFS初探之旅

转载自 http://www.cnblogs.com/xia520pi/archive/2012/05/28/2520813.html , 感谢虾皮工作室这一系列精彩的文章. Hadoop集群(第8期)_HDFS初探之旅 1.HDFS简介 HDFS(Hadoop Distributed File System)是Hadoop项目的核心子项目,是分布式计算中数据存储管理的基础,是基于流数据模式访问和处理超大文件的需求而开发的,可以运行于廉价的商用服务器上.它所具有的高容错.高可靠性.高可扩展性.高

HDFS源码学习纪录之-NameNode篇(一)

NameNode维护了HDFS命名空间的两层关系: 1) 文件与数据块之间的关系(INodeFile,INodeDirectory) 2) 数据块与DataNode之间的关系(BlockMap.BlockInfo) 首先,贴一张类图: 1. INode类: INode模仿Linux文件系统中的索引节点inode.INode为一个抽象类,INode中保存了文件名,文件所有者,文件的访问权限,文件父目录(INodeDirectory引用,无论是INode的INodeFile子类还是INodeDire