成都创新互联网站制作重庆分公司

mapreduce的理解-创新互联

1.自己设计一个并行计算框架,应该需要考虑那些问题呢?

创新互联公司坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都做网站、成都网站制作、成都外贸网站建设、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的东兰网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!

第一个问题是:并行计算肯定是多台计算机吗,多台计算机他们之间如何划分任务?

这个地方总归有一个模块来分发任务,也就意味这它就是老大,它来维护任务或者资源

mapreduce在hadoop 1.x版本上是jobtracker,hadoop 2.x版本是通过yarn来管理的,它是ResourceManager,来管理其他节点以及如何分布任务的。

小弟在Hadoop 1.x版本上是tasktracker,在hadoop2版本上是NodeManager,NodeManager在启动一个进程YARNchild来运行处理计算数据。

第二个问题是:并行计算所需的计算数据从哪里来?

一个任务很大,如果都让放在老大那边,是不是压力很大吗?所以他们使用现成的可以存储数据的hdfs来负责存储数据,客户端向ResourceManager得到任务允许之后,然后将所需jar包,依赖都放在hdfs节点上,让他们自己都去取所需任务,老大只要告诉他们一定的标志就可以了吗。

第三个问题是:并行计算计算出来的结果,如何进行汇总?

并行计算计算出来的数据,最终还是写给了hdfs,不可能写给老大,老大可能还要连续接受别人给的新任务,也不可能放在每个节点上,这样数据过于离散,最后还是选择了继续放在hdfs上,放在hdfs上,根据需要可以是多个文件,也可以是一个文件。

第四个问题是:如何在这个过程中有的任务失败了,会想什么办法来弥补呢?

他们通过rpc通信,(也就是所谓的心脏跳动机制,来时不时给老大反馈,)老大在让其它nodeManager来继续干这些事情,来弥补计算。

2.mapreduce的运行流程是什么?

                                                       client

                                                       jobtracker

                inputsplit            ->mapper()

                                                                   mapoutput ----shuffle---reducer() ------>output

                inputsplit          ->mapper()

inputsplit:一个inputsplit对应这一个map函数  :也就一行作为一个mapper函数来处理。

mapper输出[hello    1] [zhang 1] [san 1]

shuffle:对起所需结果,进行分组。如hello 一组,[hello, (1,1,1)]

reduceer:输出 hello 5

                       zhangsan 1

序列化讲解:

序列化可以将内存中的类写入文件或数据库中。比如将某个类序列化后存为文件,下次读取时只需将文件中的数据反序列化就可以将原先的类还原到内存中。也可以将类序列化为流数据进行传输。(objectinputstream这个类就是干这个用的)。对象、文件、数据,有许多不同的格式,很难统一传输和保存
序列化以后就都是字节流了,无论原来是什么东西,都能变成一样的东西,就可以进行通用的格式传输或保存,传输结束以后,要再次使用,就进行反序列化还原,这样对象还是对象,文件还是文件。

hadoop中数据要在网络之间传输,必须实现序列化(将内存中对象以流的形式写给其他节点)

Hadoop使用自己的高效序列化机制来代替Java版的序列化机制(string,long等都实现seriable),

hadoop序列化机制必须实现writable接口。

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


文章题目:mapreduce的理解-创新互联
标题路径:http://cxhlcq.com/article/ddjigh.html

其他资讯

在线咨询

微信咨询

电话咨询

028-86922220(工作日)

18980820575(7×24)

提交需求

返回顶部