本文原创,转载注明作者和原文链接!

一:总结注意点:

到现在为止学习到的角色:三个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文件权限,安全模式,以及整体注意点总结的更多相关文章

  1. Hadoop学习笔记之二 文件操作

    HDFS分布式文件系统:优点:支持超大文件存储.流式访问.一次写入多次读取.缺点:不适应大量小文件.不适应低时延的数据访问.不适应多用户访问任意修改文件. 1.hadoop用于大数据处理,在数据量较小 ...

  2. Hadoop学习笔记: HDFS

    注:该文内容部分来源于ChinaHadoop.cn上的hadoop视频教程. 一. HDFS概述 HDFS即Hadoop Distributed File System, 源于Google发表于200 ...

  3. Hadoop学习笔记(2)-HDFS的基本操作(Shell命令)

    在这里我给大家继续分享一些关于HDFS分布式文件的经验哈,其中包括一些hdfs的基本的shell命令的操作,再加上hdfs java程序设计.在前面我已经写了关于如何去搭建hadoop这样一个大数据平 ...

  4. Hadoop学习笔记(1):概念和整体架构

    Hadoop简介和历史 Hadoop架构体系 Master和Slave节点 数据分析面临的问题和Hadoop思想 由于工作原因,必须学习和深入一下Hadoop,特此记录笔记. 什么是hadoop? A ...

  5. Hadoop学习笔记四

    一.fsimage,edits和datanode的block在本地文件系统中位置的配置 fsimage:hdfs-site.xml中的dfs.namenode.name.dir  值例如file:// ...

  6. hadoop学习笔记贰 --HDFS及YARN的启动

    1.初始化HDFS :hadoop namenode -format 看到如下字样,说明初始化成功. 启动HDFS,start-dfs.sh 终于启动成功了,原来是core-site.xml  中配置 ...

  7. hadoop学习笔记(四)——eclipse+maven+hadoop2.5.2源代码

    Eclipse同maven进口hadoop源代码 1)  安装和配置maven环境变量 M2_HOME: D:\profession\hadoop\apache-maven-3.3.3 PATH: % ...

  8. 【linux学习笔记四】文件搜索命令

    一 文件搜索 locate //在后台数据库中按文件名搜索 搜索速度更快 locate 文件名 //locate命令所搜索的后台数据库 /var/lib/mlocate //更新数据库 updated ...

  9. Hadoop学习笔记(三) ——HDFS

    参考书籍:<Hadoop实战>第二版 第9章:HDFS详解 1. HDFS基本操作 @ 出现的bug信息 @-@ WARN util.NativeCodeLoader: Unable to ...

随机推荐

  1. Java后端知识体系及路线【最新秘籍】

    第一层(基本语法)   第一层心法,主要都是基本语法,程序设计入门,悟性高者十天半月可成,差一点的 3 到 6 个月也说不准.如果有其他开发语言的功底相助,并且有张无忌的悟性与运气,相信第一层只在片刻 ...

  2. 番外:你真的了解 Oracle 的启动流程吗?

    番外系列说明:该系列所有文章都将作为独立篇章进行知识点讲解,是对其他系列博文进行的补充说明,来自于博客园AskScuti. 主题:关于数据库启动流程的三个阶段 内容预览:本篇涉及数据库启动的三个阶段分 ...

  3. IDEA工具java开发之 运行与调试

    一.运行项目 ◆右键运行 ◆菜单运行 ◆run窗口运行 ◆启动参数 作用:经常用在本地开发环境要去连测试的数据库的时候使用.正常的情况下是连开发环境的数据库的,但是有些情况是需要连测试数据库的.所以这 ...

  4. day02_1spring3

    面向切面编程.AOP手动代理和spring编写代理 一.什么是AOP 1.AOP简介: 在软件业,AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方 ...

  5. JavaScript的jQuery

    JavaScript的jQuery 不通过JavaScript的原生代码,如document.getElementById("") 而是通过jQuery的$符号选择器. jQuer ...

  6. 【网页浏览】关键字搜索PIXIV插图

    可以在线搜索Pixiv(P站)的插图 传送链接

  7. 【音乐欣赏】《I Don't Even Care About You》 - Missio

    曲名:I Don't Even Care About You 作者:Missio [00:31.18]Depressed again [00:34.66]Morning comes too fast ...

  8. 小匠第一周期打卡笔记-Task02

    一.文本预处理 预处理通常包括四个步骤: 读入文本 分词 建立字典,将每个词映射到一个唯一的索引(index) 将文本从词的序列转换为索引的序列,方便输入模型 读入文本: import collect ...

  9. EF CodeFirst简介、默认约定、数据库初始化策略

    CodeFirst 工作流程 创建或修改领域类-->使用数据注解或者Fluent API来配置领域类-->使用自动数据库迁移技术或者基于代码的数据库迁移技术来创建数据库. CodeFirs ...

  10. 【metasploit教程】之建立数据库

    在我们通过search命令搜索时,我们会发现搜索的很慢(慢搜索)而且会报错: 启动postgresql: service postgresql strart 启动metasploit会开始建立数据表: ...