10 Hadoop的安全模式及权限介绍

这篇具有很好参考价值的文章主要介绍了10 Hadoop的安全模式及权限介绍。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、HDFS工作流程
  1. 启动NameNode,NameNode加载fsimage到内存,对内存数据执行edits log日志中的事务操作。
  2. 文件系统元数据内存镜像加载完毕,进行fsimage和edits log日志的合并,并创建新的fsimage文件和一个空的edits log日志文件。
  3. NameNode等待DataNode上传block列表信息,直到副本数满足最小副本条件,这个过程NameNode处于安全模式,最小副本条件指整个文件系统中有99.9%的block达到了最小副本数(默认值是1,可设置)。
  4. 当满足了最小副本条件,再过30秒,NameNode就会退出安全模式。

NameNode安全模式(safemode)下,操作HDFS有如下特点:
(1)对文件系统元数据进行只读操作。
(2)当文件的所有block信息具备的情况下,对文件进行只读操作。不允许进行文件修改(写,删除或重命名文件)。

2、注意事项

(1) NameNode不会持久化block位置信息,DataNode保有各自存储的block列表信息。正常操作时,NameNode在内存中有一个blocks位置的映射信息(所有文件的所有文件块的位置映射信息)。
(2) NameNode在安全模式,DataNode需要上传block列表信息到NameNode。
(3)安全模式NameNode不会要求DataNode复制或删除block。
(4) 新格式化的HDFS不进入安全模式,因为DataNode压根就没有block。

3、配置信息

10 Hadoop的安全模式及权限介绍,Hadoop,hadoop,安全,大数据

4、HDFS的权限

1)每个文件和目录都和一个拥有者和组相关联。
2)文件或者目录对与拥有者、同组用户和其他用户拥有独立的权限。
3) 对于一个文件,r表示读取的权限,w表示写或者追加的权限,x代表操作文件的权限。对于目录而言,r表示列出目录内容的权限,w表示创建或者删除文件和目录的权限,x表示访问该目录子项目的权限。
4) HDFS目录及文件权限可以防止用户修改或删除文件系统的重要部分。(dfs.permissions.enabled属性)。防止好人做错事。
5) 默认情况下hadoop运行时安全措施处于停用模式。一个客户端可以在远程系统上通过创建和任意一个合法用户同名的账号来进行访问。
6) HDFS中可以指定超级用户,例如:root用户。对于超级用户,系统不会执行任何权限检查。

5、HDFS的读写流程

HDFS写文件流程
10 Hadoop的安全模式及权限介绍,Hadoop,hadoop,安全,大数据

  1. 调用客户端的对象DistributedFileSystem的create方法;

  2. DistributedFileSystem会发起对namenode的一个RPC连接,请求创建一个文件,不包含关于block块的请求。namenode会执行各种各样的检查,确保要创建的文件不存在,并且客户端有创建文件的权限。如果检查通过,namenode会创建一个文件(在edits中,同时更新内存状态),否则创建失败,客户端抛异常IOException。

  3. NN在文件创建后,返回给HDFS Client可以开始上传文件块。

  4. DistributedFileSystem返回一个FSDataOutputStream对象给客户端用于写数据。FSDataOutputStream封装了一个DFSOutputStream对象负责客户端跟datanode以及namenode的通信。

  5. FSDataOutputStream对象将数据切分为小的数据包(64kb,core-default.xml:
    file.client-write-packet-size默认值65536),并写入到一个内部队列(“数据队列”)。DataStreamer会读取其中内容,并请求namenode返回一个datanode列表来存储当前block副本。列表中的datanode会形成管线,DataStreamer将数据包发送给管线中的第一个datanode,第一个datanode将接收到的数据发送给第二个datanode,第二个发送给第三个。。。

  6. DFSOoutputStream维护着一个数据包的队列,这的数据包是需要写入到datanode中的,该队列称为确认队列。当一个数据包在管线中所有datanode中写入完成,就从ack队列中移除该数据包。如果在数据写入期间datanode发生故障,则执行以下操作:
    a)关闭管线,把确认队列中的所有包都添加回数据队列的最前端,以保证故障节点下游的datanode不会漏掉任何一个数据包。
    b)为存储在另一正常datanode的当前数据块指定一个新的标志,并将该标志传送给namenode,以便故障datanode在恢复后可以删除存储的部分数据块。
    c)从管线中删除故障数据节点并且把余下的数据块写入管线中另外两个正常的datanode。namenode在检测到副本数量不足时,会在另一个节点上创建新的副本。
    d)后续的数据块继续正常接受处理。
    e)在一个块被写入期间可能会有多个datanode同时发生故障,但非常少见。只要设置了dfs.replication.min的副本数(默认为1),写操作就会成功,并且这个块可以在集群中异步复制,直到达到其目标副本数(dfs.replication默认值为3)。

  7. 如果有多个block,则会反复从步骤4开始执行。

  8. 当客户端完成了数据的传输,调用数据流的close方法。该方法将数据队列中的剩余数据包写到datanode的管线并等待管线的确认。

  9. 客户端收到管线中所有正常datanode的确认消息后,通知namenode文件写完了。

  10. namenode已经知道文件由哪些块组成,所以它在返回成功前只需要等待数据块进行最小量的复制。

读文件流程
10 Hadoop的安全模式及权限介绍,Hadoop,hadoop,安全,大数据
11. 客户端通过FileSystem对象的open方法打开希望读取的文件,DistributedFileSystem对象通过RPC调用namenode,以确保文件起始位置。对于每个block,namenode返回存有该副本的datanode地址。这些datanode根据它们与客户端的距离来排序。如果客户端本身就是一个datanode,并保存有相应block一个副本,会从本地读取这个block数据。
12. DistributedFileSystem返回一个FSDataInputStream对象给客户端读取数据。该类封装了DFSInputStream对象,该对象管理着datanode和namenode的I/O,用于给客户端使用。客户端对这个输入调用read方法,存储着文件起始几个block的datanode地址的DFSInputStream连接距离最近的datanode。通过对数据流反复调用read方法,可以将数据从datnaode传输到客户端。到达block的末端时,DFSInputSream关闭与该datanode的连接,然后寻找下一个block的最佳datanode。客户端只需要读取连续的流,并且对于客户端都是透明的。
13. 客户端从流中读取数据时,block是按照打开DFSInputStream与datanode新建连接的顺序读取的。它也会根据需要询问namenode来检索下一批数据块的datanode的位置。一旦客户端完成读取,就close掉FSDataInputStream的输入流。
14. 在读取数据的时候如果DFSInputStream在与datanode通信时遇到错误,会尝试从这个块的一个最近邻datanode读取数据。它也记住那个故障datanode,保证以后不会反复读取该节点上后续的block。DFSInputStream也会通过校验和确认从datanode发来的数据是否完整。如果发现有损坏的块,就在DFSInputStream试图从其他datanode读取其副本之前通知namenode。
15. Client下载完block后会验证DN中的MD5,保证块数据的完整性。

注意
namenode告知客户端每个block中最佳的datanode,并让客户端直接连到datanode检索数据。由于数据流分散在集群中的所有datanode,这样可以使HDFS可扩展到大量的并发客户端。同时,namenode只需要响应block位置的请求,无需响应数据请求,否则namenode会成为瓶颈。文章来源地址https://www.toymoban.com/news/detail-814377.html

到了这里,关于10 Hadoop的安全模式及权限介绍的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 一百六十九、Hadoop——Hadoop退出NameNode安全模式与查看磁盘空间详情(踩坑,附截图)

    在海豚跑定时跑kettle的从Kafka到HDFS的任务时,由于Linux服务器的某个文件磁盘空间满了,导致Hadoop的NodeName进入安全模式,此时光执行 hdfs dfsadmin -safemode leave命令语句没有效果( 虽然显示Safe mode is OFF,但没效果,一旦执行还是报错 ) Caused by: org.apache.hadoop.ipc.RemoteException(org

    2024年02月10日
    浏览(44)
  • 【大数据】Hadoop运行模式(集群搭建)

    Hadoop 运行模式包括:本地模式、伪分布式模式以及完全分布式模式。 本地模式(Local/Standalone Mode):单台服务器,数据存储在Linux本地。生产环境几乎不会采用该模式 伪分布式模式(Pseudo-Distributed Mode):单台服务器,数据存储在HDFS上。有较少的小型公司采用该模式。 完全

    2024年02月03日
    浏览(38)
  • 2-1.Hadoop大数据集群搭建之---本地模式

    Hadoop运行模式主要包括三种:本地模式、伪分布式模式以及完全分布式模式。 1. 本地模式(Local/Standalone Mode) :在这种模式下,Hadoop作为一个独立的系统运行,不依赖于外部资源或网络连接。它可以在单个服务器上运行,数据通常存储在本地的HDFS(Hadoop Distributed FileSystem)

    2024年02月19日
    浏览(39)
  • 「大数据集群的搭建和使用」背景知识:大数据Hadoop生态圈介绍

    目录 一、Hadoop简介 二、Hadoop的运行模式 1. 单机模式 2. 伪分布式模式 3. 完全分布式模式 三、Hadoop生态圈组件 1. HDFS 2. MapReduce 3. YARN 4. Hive 5. Pig 6. HBase 7. HCatalog 8. Avro 9. Thrift 10. Drill 11. Mahout 12. Sqoop 13. Flume 14. Ambari 15. Zookeeper 四、Hadoop优缺点 五、Hadoop学习路径 hadoop = MapReduce+

    2024年02月03日
    浏览(47)
  • 数据库安全:Hadoop 未授权访问-命令执行漏洞.

    Hadoop 未授权访问主要是因为 Hadoop YARN 资源管理系统配置不当,导致可以未经授权进行访问,从而被攻击者恶意利用。攻击者无需认证即可通过 RESTAPI 部署任务来执行任意指令,最终完全控制服务器。 数据库安全:Hadoop 未授权访问-命令执行漏洞. Hadoop 未授权访问-命令执行漏

    2024年02月05日
    浏览(43)
  • Hadoop学习-6-HDFS权限管理

    HDFS权限管理 认证、授权、审计(/var/log/secure) HDFS权限管理 身份认证,数据访问权限认证 UGO模型:每个文件和目录都与一个owner、group关联 user:文件所有者 group:组内其他成员 other:其他用户组,最低权限 读、写、执行权限 -/d(文件类型)rwx(owner权限)rwx(group权限)rwx(other权限

    2024年02月16日
    浏览(53)
  • hadoop之ranger权限配置(二)

    需要编译的包,我都已经在我上传的资源包https://download.csdn.net/download/weixin_40496191/87358396 安装依赖软件:yum -y install wget git gcc gcc-c++ make autoconf automake libtool sharutils asciidoc xmlto cmake unzip zip 安装jdk1.8 安装maven 1)创建文件夹并且进入:mkdir /home/hadoop/maven --cd /home/hadoop/maven 2)下载

    2024年02月09日
    浏览(45)
  • Hadoop3.0大数据处理学习1(Haddop介绍、部署、Hive部署)

    学习步骤: 三大组件的基本理论和实际操作 Hadoop3的使用,实际开发流程 结合具体问题,提供排查思路 开发技术栈: Linux基础操作、Sehll脚本基础 JavaSE、Idea操作 MySQL Hadoop是一个适合海量数据存储与计算的平台。是基于Google的GoogleFS、Map Reduce、BigTable实现的。 移动数据:数据

    2024年02月08日
    浏览(48)
  • (大数据开发随笔9)Hadoop 3.3.x分布式环境部署——全分布式模式

    分布式文件系统中,HDFS相关的守护进程也分布在不同的机器上,如: NameNode守护进程,尽可能单独部署在一台硬件性能较好的机器中 其他的每台机器上都会部署一个DataNode进程,一般的硬件环境即可 SecondaryNameNode守护进程最好不要和NameNode在同一台机器上 守护进程布局 Name

    2023年04月16日
    浏览(60)
  • 数据库安全-Redis未授权&Hadoop&Mysql&未授权访问&RCE 漏洞复现

    未授权访问漏洞可以理解为需要安全配置或权限认证的地址、授权页面存在缺陷导致其他用户可以直接访问从而引发重要权限可被操作、数据库或网站目录等敏感信息泄露,包括端口的未授权常见页面的未授权 /admin.php /menu.php 常见的未授权访问漏洞及默认端口: 默认端口统

    2024年02月03日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包