hadoop学习笔记(四):HDFS文件权限,安全模式,以及整体注意点总结
本文原创,转载注明作者和原文链接!
一:总结注意点:

到现在为止学习到的角色:三个NameNode、SecondaryNameNode、DataNode
1.存储的是每一个文件分割存储之后的元数据信息。具体的信息有:
2.而且NameNode的存储是内存存储的,不会有和磁盘的数据交换的过程,这样的话提高了整体的集群的效率,但是这个数据都是需要持久化的,因为不持久化的话,数据是不安全的,加假如哪一天hadoop集群中的NameNode那台服务器挂了的话,里面的元数据如果只是存储在内存中的就全部的丢失了,这样会导致所有的DataNode中的块数据都会报废掉,因为都不知道哪个结点的那个块是属于原始存储的哪个文件了,所以nameNode中会有一个元数据持久化的过程。
具体的持久化过程:在集群format也就是搭建的过程中,会产生一个fsimage,之后在启动集群之后,会根据客户端的指令,产生一个edits log文件,之后集群系统会有机制去限制edits log文件的大小,不超过某个可以我们规定的大小,每天HDFSClient客户端发送指令的时候,edits log日志文件都会记录,直到达到系统中的checkpoint点,NameNode会将edits log文件和fsimage交给SecondaryNameNode去将两者有效的结合,之后回交给NameNode,NameNode会将之前拥有的那个edits log文件删除掉,当产生第二主节点返回结合体之后,会将之前的fsimage替换掉,这就是一次edits log文件和fsimage结合的过程,具体的可以看结合过程 另一篇博文hadoop学习笔记(一):NameNade持久化和DataNode概念。
3.只要是已经存储到HDFS分布式文件存储系统中的数据块之后,就不能改变大小了,因为如果改变其中某个文件分割成的某块数据的话,其他的副本都要变,这样就会无形之中给集群添加很多压力。
4.具体的文件块的大小:对于同一个源数据来说的话,他所分割的各个块的大小都必须是一样的,但是对于不同的源文件的之间的话,分割存储时候分割成的块的大小可以是不一样的
5.DataNode 中具体存储的源文件的block数据块,就是在服务器中的文件目录中存储的,并没有涉及到内存存储的问题
6.DataNode也会存储一部分元数据信息:如每一个数据块都会有一个md5 信息,用于每次下载数据块的时候去和上传的时候存储的那个MD5码进行比较,来判断这块数据块是不是还是完整的,如果上传的时候的MD5和下载的时候的MD5码是一样的,则就认为是可用的块。
7.具体的数据块需要多少个副本,这个可以根据这个块的使用量去定,如果这个块的访问量高的话,可以多存储副本,相反可以少存储副本,但是一本默认的副本的数量是3块
8.hadoop这个集群,都计算的框架向文件的存储位置进行移动的,而不是文件想计算框架移动,因为前者的资源消耗更低
9.在集权运行的过程中,NameNode和DataNode是时刻保持着心跳的联系的,DataNode会隔多长时间向主结点汇报自己身上存储的块的状态信息,以保证客户端访问主结点的时候,主结点能够正确的告诉客户端你要找的数据在哪太dataNode结点之上。
10.安全模式:指的即时fsimage和edits log文件的对于NameNode状态恢复机制
二、HDFS文件权限的分配问题

其中的POSIX标准和window‘linux系统的那种文件的权限策略差不多,但是还是有区别的,因为HDFS是文件系统,而后面的window和linux是操作系统,
具体的hdfs的权限:当访问HDFS的时候,有什么权限的人访问,就会赋予这个人在HDFS系统中什么样的操作权限。
三 、安全模式

hadoop学习笔记(四):HDFS文件权限,安全模式,以及整体注意点总结的更多相关文章
- Hadoop学习笔记之二 文件操作
HDFS分布式文件系统:优点:支持超大文件存储.流式访问.一次写入多次读取.缺点:不适应大量小文件.不适应低时延的数据访问.不适应多用户访问任意修改文件. 1.hadoop用于大数据处理,在数据量较小 ...
- Hadoop学习笔记: HDFS
注:该文内容部分来源于ChinaHadoop.cn上的hadoop视频教程. 一. HDFS概述 HDFS即Hadoop Distributed File System, 源于Google发表于200 ...
- Hadoop学习笔记(2)-HDFS的基本操作(Shell命令)
在这里我给大家继续分享一些关于HDFS分布式文件的经验哈,其中包括一些hdfs的基本的shell命令的操作,再加上hdfs java程序设计.在前面我已经写了关于如何去搭建hadoop这样一个大数据平 ...
- Hadoop学习笔记(1):概念和整体架构
Hadoop简介和历史 Hadoop架构体系 Master和Slave节点 数据分析面临的问题和Hadoop思想 由于工作原因,必须学习和深入一下Hadoop,特此记录笔记. 什么是hadoop? A ...
- Hadoop学习笔记四
一.fsimage,edits和datanode的block在本地文件系统中位置的配置 fsimage:hdfs-site.xml中的dfs.namenode.name.dir 值例如file:// ...
- hadoop学习笔记贰 --HDFS及YARN的启动
1.初始化HDFS :hadoop namenode -format 看到如下字样,说明初始化成功. 启动HDFS,start-dfs.sh 终于启动成功了,原来是core-site.xml 中配置 ...
- hadoop学习笔记(四)——eclipse+maven+hadoop2.5.2源代码
Eclipse同maven进口hadoop源代码 1) 安装和配置maven环境变量 M2_HOME: D:\profession\hadoop\apache-maven-3.3.3 PATH: % ...
- 【linux学习笔记四】文件搜索命令
一 文件搜索 locate //在后台数据库中按文件名搜索 搜索速度更快 locate 文件名 //locate命令所搜索的后台数据库 /var/lib/mlocate //更新数据库 updated ...
- Hadoop学习笔记(三) ——HDFS
参考书籍:<Hadoop实战>第二版 第9章:HDFS详解 1. HDFS基本操作 @ 出现的bug信息 @-@ WARN util.NativeCodeLoader: Unable to ...
随机推荐
- 使用wsgiref手撸web框架
模板 前言 要说到应用程序,就不得不提的就是cs架构和BS架构 所谓的cs架构就是client端和server端,就像我们的电脑上的qq,微信等应用程序 bs架构就是浏览器端和server端,我们不需 ...
- 【转】VS2017离线安装
[转自]https://www.cnblogs.com/feigao/p/8409606.html 第一步:下载离线安装包 https://www.visualstudio.com/zh-hans/d ...
- 安装python3并新建python3的虚拟环境
安装依赖 yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel -y 下载P ...
- 2019牛客多校第七场E Find the median 离散化+线段树维护区间段
Find the median 题意 刚开始集合为空,有n次操作,每次操作往集合里面插入[L[i],R[i]]的值,问每次操作后中位数是多少 分析 由于n比较大,并且数可以达到1e9,我们无法通过权值 ...
- PP: Data-driven classification of residential energy consumption patterns by means of functional connectivity networks
Purpose Implement a good user aggregation and classification. or to assess the interrelation pattern ...
- C语言-防止输入字母
今天群里一位小伙伴问了一个关于scanf函数的问题: scanf("%d", &n); 这个代码怎么防止输入字母? 因为他下面是判断n是否为质数,所以这里肯定有个判断,不然 ...
- 13-Java-JSP知识梳理
一.JSP了解 JSP(java server pages,服务器页面),可理解为HTML+ Java = = JSP,它可生成动态的HTML(拼标签).是以.jsp为后缀的文件, 内容是以标签为主体 ...
- Idea全部快捷键+自行修改快捷键
Idea常用快捷键 Tab,代码标签输入完成后,按 Tab,生成代码 Ctrl+E,最近的文件 Ctrl+X,删除行 Ctrl+D,复制行 Alt+1,快速打开或隐藏工程面板 ctrl+alt+t 快 ...
- WEB-INF目录与META-INF目录的作用(转载)
/WEB-INF/web.xml Web应用程序配置文件,描述了 servlet 和其他的应用组件配置及命名规则. /WEB-INF/classes/包含了站点所有用的 class 文件,包括 ser ...
- oracle中日期的函数的使用
--oracle中trunc()函数的用法 .select trunc(sysdate) from dual --2019-6-18 今天的日期为209-6-18 .select trunc(sysd ...