为了账号安全,请及时绑定邮箱和手机立即绑定

Hadoop:是什么,如何工作,可以用来做什么

Hadoop:是什么,如何工作,可以用来做什么

心有法竹 2019-02-23 15:15:52
Hadoop:是什么,如何工作,可以用来做什么
查看完整描述

2 回答

?
陪伴而非守候

TA贡献1757条经验 获得超8个赞

Hadoop主要是分布式计算和存储的框架,所以Hadoop工作过程主要依赖于HDFS(Hadoop Distributed File System)分布式存储系统和Mapreduce分布式计算框架。

分布式存储系统HDFS中工作主要是一个主节点namenode(master)(hadoop1.x只要一个namenode节点,2.x中可以有多个节点)和若干个从节点Datanode(数据节点)相互配合进行工作,HDFS主要是存储Hadoop中的大量的数据,namenode节点主要负责的是:
1、接收client用户的操作请求,这种用户主要指的是开发工程师的Java代码或者是命令客户端操作。
2、维护文件系统的目录结构,主要就是大量数据的关系以及位置信息等。
3、管理文件系统与block的关系,Hadoop中大量的数据为了方便存储和管理主要是以block块(64M)的形式储存。一个文件被分成大量的block块存储之后,block块之间都是有顺序关系的,这个文件与block之间的关系以及block属于哪个datanode都是有namenode来管理。
Datanode的主要职责是:
1、存储文件。
2、将数据分成大量的block块。
3、为保证数据的安全,对数据进行备份,一般备份3份。当其中的一份出现问题时,将由其他的备份来对数据进行恢复。
MapReduce主要也是一个主节点JOPtracker和testtracker组成,主要是负责hadoop中的数据处理过程中的计算问题。
joptracker主要负责接收客户端传来的任务,并且把计算任务交给很多testtracker工作,同时joptracker会不断的监控testtracker的执行情况。
testtracker主要是执行joptracker交给它的任务具体计算,例如给求大量数据的最大值,每个testtracker会计算出自己负责的数据中的最大值,然后交给joptracker。

Hadoop的主要两个框架组合成了分布式的存储和计算,使得hadoop可以很快的处理大量的数据。

查看完整回答
反对 回复 2019-03-02
?
湖上湖

TA贡献2003条经验 获得超2个赞

要有java语言基础,和 linux系统命令基础。
hadoop是运行的系统要求是 linux。
hadoop 用 java写的分布式 ,处理大数据的框架。
只要思想是 分组合并 思想
分组:比如 有一个大型数据,那么他就会将这个数据按照算法分成多份,每份存储在 奴隶主机上,并且在奴隶主机上进行计算。
合并:将每个机器上的计算结果合并起来 再在一台机器上计算,得到最终结果。
就是mapreduce 算法。

查看完整回答
反对 回复 2019-03-02
  • 2 回答
  • 0 关注
  • 1262 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信