您的位置 首页 java

一起大数据之HDFS基础操作与工作原理机制,精彩的云端世界

我们昨天完成了如何搭建Linux系统和集群的搭建,有了可以运行的环境,那接下来就是要如何去使用我们的大数据 HDFS 分布式系统。

HDFS的概念和特性

hdfs的设计思想主要是将我们的大文件。 分布式 的存储在我们的服务器上,以此方便我们数据分析人员采取分而治之的方式去进行运算。

在这里,我们重点要学习文件的切块、副本的存放、元数据。

1,分布式文件系统HDFS的文件在我们本地是分块存储的,这里的我们的块是block,块的大小在2.0版本中是128M,当然我们也可以修改其的小大的。

2,我们的上面产生的元数据,也就是系统的目录结构和分块信息的管理都是由我们的名称节点也就是hdfs中的 namenode 节点在管理的。它不存储我们的文件数据,存储我们的各种信息的路径。

3,有了管理路径的名称节点,接下来就是我们的数据存储的管理是我们的数据节点datanode负责的,当我们把文件上传到集群中的时候,这个节点就会负责存储在不同的副本中,防止我们的数据丢失。

缺点;

HDFS分布式文件系统是不支持修改的,而且延迟是十分大的,成本也是相当的大。所以它更适用来做大数据的分析,而不能当做网盘来使用。

HDFS命令行客户端使用

我们在系统中输入hdfs dfs或者是 hadoop fs就可以查看我们 shell 命令,使用的前提是我们已经配置好了hadoop的系统 环境变量

HDFS的工作机制

在hadoop集群中主要有两大角色,那就是名称节点和数据节点。第一个namenode用来管理我们这个系统的元数据,而第二个数据节点用来管我们的文件数据块。

当我们的数据上传时,我们的数据文件会按固定的存储大小块进行分割成许多个数据块。而且每个数据文件都会复制多个副本存储起来。

HDFS写数据流程

简单运行图片如下图所示:

HDFS读数据流程

读数据就是我们通过客户端访问的时候,向名称节点索要文件信息的路径,通过获取,我们依次去得到我们的文件块,返回给客户端并拼成一整个文件。

具体步骤如下:

  1. 跟namenode通信查询元数据,找到文件块所在的datanode服务器
  2. 挑选一台datanode(就近原则,然后随机)服务器,请求建立 socket
  3. datanode开始发送数据(从磁盘里面读取数据放入流,以packet为单位来做校验)
  4. 客户端以packet为单位接收,现在本地缓存,然后写入目标文件

元数据存储机制

  1. 在内存中,我们有一份完整的元数据(内存meta data)
  2. 磁盘有一个“准完整”的fsimage文件,也就是镜像文件
  3. 当客户端对hdfs中的文件进行更改操作,操作记录首先被记入edits文件中,当客户端操作成功后,相应的元数据会更新到内存meta.data中。

这就是我们今天要讲的HDFS的shell操作和基本的工作原理。明天我们学习使用 Java 来操作我们的HDFS文件系统。

个人原创,如有什么不足请指正~觉得还不错话,关注、转发、收藏哦!

世界很大,幸好有你~

欢迎在评论区留下你的问题或困惑,我将每天与你分享我的观点和心得。

聚焦最新科技咨讯,探寻未来智能领域,我是女陶Mario

版权声明:文章版权归码里行间所有,未经允许,严禁转载

文章来源:智云一二三科技

文章标题:一起大数据之HDFS基础操作与工作原理机制,精彩的云端世界

文章地址:https://www.zhihuclub.com/185841.shtml

关于作者: 智云科技

热门文章

网站地图