hadoop-分布式存储工作原理及名词解释

举报
互联网老辛 发表于 2021/06/09 00:58:26 2021/06/09
【摘要】 分布式存储工作原理及流程图 上图中 主从式结构当中,由于主节点含有整个文件系统的目录结构信息,主节点是最重要的。 主节点运行的时候会把命名空间的信息都放在内存当中,因此,存储的文件越多,主节点的内存就需要的越多,要求大内存 在 hadoop 中,分布式存储系统称为 HDFS(hadoop distributed file system)。其中,主节点称为名字节点...

分布式存储工作原理及流程图

在这里插入图片描述
上图中
主从式结构当中,由于主节点含有整个文件系统的目录结构信息,主节点是最重要的。

主节点运行的时候会把命名空间的信息都放在内存当中,因此,存储的文件越多,主节点的内存就需要的越多,要求大内存

在 hadoop 中,分布式存储系统称为 HDFS(hadoop distributed file system)。其中,主节点称为名字节点(namenode),从节点称为数据节点(datanode)

流程:

在这里插入图片描述
1:首先,客户端请求查看数据,请求先访问namenode
2:nomenode根据你的需求,告诉你数据存储在那些datanode上
3:客户端直接和从节点联系,获取数据

分布式计算

对数据进行处理时,我们会把数据读取到内存中进行处理。如果我们对海量数据进行处理,比如数据大小是 100GB,我们要统计文件中一共有多少个单词。要想把数据都加载到内存中几乎是不可能的,称为移动数据。

那么是否可以把程序代码放到存放数据的服务器上呢?因为程序代码与原始数据相比,一般很小,几乎可以忽略的,所以省下了原始数据传输的时间了。现在,数据是存放在分布式文件系统中,100GB 的数据可能存放在很多的服务器上,那么就可以把程序代码分发到这些服务器上,在这些服务器上同时执行,也就是并行计算,也是分布式计算。这就大大缩短了程序的执行时间。我们把程序代码移动数据节点的机器上执行的计算方式称为移动计算。

分布式计算需要的是最终的结果,程序代码在很多机器上并行执行后会产生很多的结果,因此需要有一段代码对这些中间结果进行汇总。Hadoop中的分布式计算一般是由两阶段完成的。
第一阶段负责读取各数据节点中的原始数据,进行初步处理,对各个节点中的数据求单词数。然后把处理结果传输到第二个阶段,对个节点结果进行汇总,产生最终结果。

求出100GB文件总共有多少个单词?
执行过程:

在这里插入图片描述

备注: 在hadoop中,分布式计算部分称为MapReduce

MapReduce 是一种编程模型,用于大规模数据集(大于1TB)的并行运算。概念"Map(映射)“和"Reduce(归约)”,和它们的主要思想,都是从函数式编程语言里借来的,还有从矢量编程语言里借来的特性。它极大地方便了编程人员在不会分布式并行编程的情况下,将自己的程序运行在分布式系统上。

分布式计算角色

主节点: 作业节点(jobtracker)
从节点: 任务节点(tasktracker)

在任务节点当中,运行第一阶段的代码称为map任务(map task ) ,运行第二阶段代码称为 reduce任务(reduce task)

名词解释:

1) hadoop : apache 开源的分布式框架
2) HDFS: hadoop的分布式文件系统
3) NameNode: Hadoop HDFS 元数据主节点服务器,负责保存datenode文件存储元数据信息,这个服务器时单点的。
4) jobtracker : hadoop的map/reduce调度器,负责与任务节点通信分配计算任何并跟踪任务进度,这个服务器也是单点的。
5) DataNode : Hadoop的数据节点,负责存储数据
6) tasktracker: hadoop的调度程度,负责map和reduce的任务的启动和执行

文章来源: zmedu.blog.csdn.net,作者:互联网老辛,版权归原作者所有,如需转载,请联系作者。

原文链接:zmedu.blog.csdn.net/article/details/104611485

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。