hdfs 相关概念

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hdfs 相关概念相关的知识,希望对你有一定的参考价值。

  • 一. HDFS的NameNode 的启动流程
  • 二. HDFS中NameNode元数据本地磁盘存储目录如何配置DataNode存储数据的本地磁盘目录如何配置(哪里配置,属性名称)。
  • 三: 存储在HDFS上的文件,存储机制及数据安全性如何保证。

一. HDFS的NameNode 的启动流程

 1.Hadoop 在格式化文件系统HDFS 时候会默认生成一个fsimage 文件,启动时会将 fsimage 镜像加载到内存,然后replay 去编辑edit_log 默认edit_log 为空的,。

 2.当客户端节点去整个HDFS 的数据节点datenode 传送数据文件时, 默认在安全模式下数据节点datenode会每隔一断时间发送一些存储信息给 namenode处理, edit_log 就会经行记录, 然后进行合并镜像 fsimage 使当前整个镜像保持在最新状态。

3. secourndarynamenode 会通过http get 去下载 namenode节点的 镜像fsimage  与edits_log   将fsimage  加载内存当中,当用数据写入HDFS 时记录到edits_log 并生成新edits_logs 同时合并fsimage ,生成新的fsimage.ckpt  镜像文件,然后将fsimge.ckpt通过http  put 上传到, namenode 节点. namenode 节点最后更名成为新的fsimage 

二. HDFS中NameNode元数据本地磁盘存储目录如何配置DataNode存储数据的本地磁盘目录如何配置(哪里配置,属性名称)。

1. NameNode 配置参数为,dfs.name.dir  可以单独定制定制,参数为namenode  在core-site.xml 的配置文件中配置,具体目录可以自己定制,一般在生产环境中可以存储在一块 空的比较大的磁盘上。

2.在hdfs 格式化的时候会生成一个 dfs/name/current 目录 里面存放着edits 与fsimage 文件。
Datanode 配置参数为,dfs,data.dir 这个参数可以配置 datanode 节点  可以配置到单独的目录在core-site.xml  现实环境一台服务器做datenode 节点 ,在dfs/data/current/ 会生成一个以本机名字生成的一个BP 文件 下面有一个current / finalized 录,里面很多在向 hdfs 上传文件时 生成的block文件。
伪分布时采用hadoop.tmp.dir 参数 统一目录。 

3.NameNode 配置参数为,dfs.name.dir  可以单独定制定制,参数为namenode  在core-site.xml 的配置文件中配置,具体目录可以自己定制,一般在生产环境中可以存储在一块 空的比较大的磁盘上。
在hdfs 格式化的时候会生成一个 dfs/name/current 目录 里面存放着edits 与fsimage 文件。
Datanode 配置参数为,dfs,data.dir 这个参数可以配置 datanode 节点  可以配置到单独的目录在core-site.xml  现实环境一台服务器做datanode 节点 ,在dfs/data/current/ 会生成一个以本机名字生成的一个BP 文件 下面有一个current / finalized 录,里面很多在向 hdfs 上传文件时 生成的block文件。
伪分布时采用hadoop.tmp.dir 参数 统一目录。  

三: 存储在HDFS上的文件,存储机制及数据安全性如何保证。

 HDFS 在客户端上传文件到整个 hdfs 时,会在这个block 节点快的形式存储,切分成块每个block 节点块128M , 数据在存储在hdfs 上的时候 包括了两个文件,一个是上传文件的本身,一个是元数据,包括数据块的长度,块之间的校验和,以及存储的时间等。数据在存储本身,其每块副本存储在不同的datanode 节点之上,默认副本数为3 在 datanode 节点上默认用 按就近原则复制。现实环境当datanode 节点出现问题时,根据datanode 可以横向扩展 新加上的datanode 就可以从临近节点的副本数,进行数据恢复。

以上是关于hdfs 相关概念的主要内容,如果未能解决你的问题,请参考以下文章

Flask模板宏的概念和基本使用

AJAX相关JS代码片段和部分浏览器模型

Jekyll 偏移代码片段高亮的初始行

python之模块和包

从零开始配置vim(27)——代码片段

Android App 安全的HTTPS 通信