学习录: MapReduce工作原理(夹杂着RPC)

原计划是是在周五完成的MapReduce的学习反馈,但是受周五当天的“浙旅方案”需要大改的影响,以及我当天在看MapReduce之前,看到一篇文章《RPC原理及RPC实例分析》关于,分布式框架核心--RPC原理,决定好好研究研究,所以当天没能给到您Mapreduce的学习反馈,这点向您道歉。下面基于这三天对RPC远程过程调用、Mapreduce、大数据环境的搭建给出反馈。

  1. RPC原理
  2. MapReduce
  3. 大数据环境搭建

RPC远程过程调用

PRC的由来:分布式系统中,要搭建一个新服务,免不了需要依赖他人的服务,而现在他人的服务都在远端,怎么调用?RPC解决了上述问题!!!

  RPC的学习,对我来说还是比较坎坷,由于之前的计算机网络知识忘记差不多了,导致学习RPC与HTTP比较这块看起来很吃力,又重新的看了些计算机网络相关OSI七层架构知识。

总结下来,其实RPC干的事和HTTP差不多,也可以将RPC看成调用协议,在http协议中,客户端像服务器发送请求到客服端接受等一顿操作(经典B/S结构),RPC也是这样,只是RPC应用在分布式中,RPC设计的理念就是:调用远程服务要像调用本地服务一样方便,即远程调用透明。在分布式系统中,有着面向服务思想,计算是服务、存储是服务、或者说一个ERP程序的财务、数据库等等都可以是服务,这些服务可能分布在分布式的集群中,我们改怎么调用这些服务,这时候就用到了RPC。

RPC过程分解:

其实上面的图很好理解,就是客户端(消费者)和服务端(提供者)中间加了两层:Client Stub 和Server Stub.RPC做的工作就是将上面2-10的部分透明,让我们看起来像是在本地调用服务。其中解释下序列化和反序列化吧,序列化就是数据的处理方法,将数据变为二进制的形式传输,反序列化就是变回来,在RPC中数据是通过二进制的方式传输的,而http协议是通过超文本传输(HTML)。当然,我上面说的服务更多的是作为消息,只是为了好理解说成服务。

其实,解决了如何调用其他人的服务问题,有一个问题出来了:如何发布自己的服务???

其实用到了zookeeper.

zookeeper协调服务,感觉在很多解决方案中都有它。当天,我只理解zookeeper充当服务注册机的作用。由于字数原因...就不写了.

MapReduce

学习MapReduce时,我的学习路线是:MaReduce的原理---MapReduce运行机制

MapReduce作为Hadoop的“心脏”,其核心思想是:分而治之。设计思想上,感觉还是很好理解的。我的学习重点放在了Mapreduce的运行机制上。其中JobClient、JobTracker、TaskTracker、Task等四大框架的理解,以及工作流程。其中map和Reduce中的分合Shuffle,以及一些零散的知识点。后期,学习目标希望是从Code和运维的角度去理解和实操MapReduce,更好的理解它的技术原理。因为MapReduce比我想象中要复杂的多,所以学完之后系统的整理很多,慢慢消化这几天所学内容需要时间,我希望后面再回来看MapReduce时候再做整理,感觉这样效果要更好些。

放一张工作流:

https://i-blog.csdnimg.cn/blog_migrate/b2822053c9c94741f388b75f95587eda.jpeg

学习资料:《RPC(远程过程调用)的应用》、《浅析RPC远程过程调用基本原理》、《OSI七层模型》、《MapReduce奠定基石》、《大数据处理之道》、《大妈也能看懂的大数据分布式计算图解》、《MapReduce原理与技术》

大数据环境的搭建

星期六才到的主机,目前只装了虚拟机Vmware和linux系统CentOS、以及linux得到java环境JDK。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值