1.package org.apache.hadoop.mapred这四个协议都在这个包下. 2.从最简单的AdminOperationsProtocol看, void refreshQueues() throws IOException; void refreshNodes() throws IOException; boolean setSafeMode(JobTracker.SafeModeAction safeModeAction)  throws IOException; 3.相对于h…
VersionedProtocol协议是Hadoop的最顶层协议接口的抽象:5--3--3共11个协议,嘿嘿 1)HDFS相关 ClientDatanodeProtocol:client与datanode交互的接口,操作不多,只有一个block恢复的方法.那么,其它数据请求的方法呢?client与datanode主要交互是通过流式的socket实现,源码在DataXceiver,在这里先不说了: ClientProtocol:client与Namenode交互的接口,所有控制流的请求均在这里,如…
1.ClientProtocol这个玩意的版本号是61L:DatanodeProtocol 是26L:NamenodeProtocol是 3L;RefreshAuthorizationPolicyProtocol是1L,RefreshUserMappingsProtocol是1L, 好了,列举这玩意有什么用,大家也看到了,其实,最经常变化的是ClientProtocol,然后是DatanodeProtocol,后边那两个基本没动过,嘿嘿 人家写代码也不是随便来的,有顺序的 public clas…
1.首先,我看的是hadoop1.2.1 这个里边,有点奇怪ClientDatanodeProtocol的versionID是4,但是InterDatanodeProtocol的versionID是3, 而且这两个还不再同一个包下,InterDatanodeProtocol位于org.apache.hadoop.hdfs.server.protocol下,而ClientDatanodeProtocol位于org.apache.hadoop.hdfs.protocol下 2.ClientDatan…
Phase 0: Make a plan You must first decide what steps you're going to have in your process. It sounds simple (in fact, all of this sounds simple), and yet people often don't make this decision before they start coding. If your plan is "let's jump in…
@ 目录 Hadoop RPC 框架解析 1.Hadoop RPC框架概述 1.1 RPC框架特点 1.2 Hadoop RPC框架 2.Java基础知识回顾 2.1 Java反射机制与动态代理 2.1.1 代理关键类&接口信息 2.1.2 动态代理创建对象的过程 2.2 Java网络编程 2.3 Java NIO 2.3.1 简介 2.3.2 常用类 3.Hadoop RPC基本框架分析 3.1 RPC基本概念 3.1.1 RPC组成部分 3.1.2 RPC工作流程 3.2 Hadoop RP…
上一节分析到了JobTracker把作业从队列里取出来并进行了初始化,所谓的初始化,主要是获取了Map.Reduce任务的数量,并统计了哪些DataNode所在的服务器可以处理哪些Split等等,将这些信息缓存起来,但还没有进行实质的分配.等待TaskTracker跟自己通信. TaskTracker一般运行于DataNode之上,下面是它的声明,可见,是一个线程类: /******************************************************* * TaskT…
上一节以WordCount分析了MapReduce的基本执行流程,但并没有从框架上进行分析,这一部分工作在后续慢慢补充.这一节,先剖析一下作业提交过程. 在分析之前,我们先进行一下粗略的思考,如果要我们自己设计分布式计算,应该怎么设计呢?假定有100个任务要并发执行,每个任务分别针对一块数据,这些数据本身是分布在多个机器上的,主要面临哪些问题? 1.数据如何分布是首先面临的问题,可能也是影响分布式计算性能的最关键问题.一个超大文件,按照哪种方式切割开来,分别丢到不同的机器?Hadoop的答案是按…
JobTracker是整个MapReduce计算框架中的主服务,相当于集群的“管理者”,负责整个集群的作业控制和资源管理.本文对JobTracker的启动过程及心跳接收与应答两个主要功能进行分析. 1 JobTracker启动过程 1.1 各种线程功能 函数offerService()会启动JobTracker内部几个比较重要的后台服务进程,分别是expireTrackersThread.retireJobsThread.expireLaunchingTaskThread和completedJo…
Hadoop的各个服务间,客户端和服务间的交互采用RPC方式.关于这种机制介绍的资源很多,也不难理解,这里不做背景介绍.只是尝试从Jobclient向JobTracker提交作业这个最简单的客户端服务器交互的代码中,去跟踪和了解下RPC是怎么被使用的.不同于准备发表博客时搜索的几篇博文,试图通过一种具体的场景来介绍,属于比较初级.其他DataNode和Namenode之间,Tasktracker和JobTracker之间的交互基本也都一样.为了引用的代码篇幅尽可能少,忽略了代码中写日志(包括Me…
前言 :本文旨在理清在Hadoop中一个MapReduce作业(Job)在提交到框架后的整个生命周期过程,权作总结和日后参考,如有问题,请不吝赐教.本文不涉及Hadoop的架构设计,如有兴趣请参考相关书籍和文献.在梳 理过程中,我对一些感兴趣的源码也会逐行研究学习,以期强化基础. 作者 :Jaytalent 开始日期 :2013年9月9日 参考资料:[1]<Hadoop技术内幕--深入解析MapReduce架构设计与实现原理>董西成                   [2]Hadoop 1.…
转自:http://blog.csdn.net/jaytalent?viewmode=contents MapReduce调度与执行原理系列文章 一.MapReduce调度与执行原理之作业提交 二.MapReduce调度与执行原理之作业初始化 三.MapReduce调度与执行原理之任务调度 四.MapReduce调度与执行原理之任务调度(续) 前言:本文旨在理清在Hadoop中一个MapReduce作业(Job)在提交到框架后的整个生命周期过程,权作总结和日后参考,如有问题,请不吝赐教.本文不涉…
转载自 ---- http://weilaiyxj.iteye.com/blog/913166 本文约定: DN: DataNode TT: TaskTracker NN: NameNode SNN: Secondry NameNode JT: JobTracker 本文介绍Hadoop各节点和Client之间通信协议. Hadoop的通信是建立在RPC的基础上,关于RPC的详解介绍大家可以参照 "hadoop rpc机制 && 将avro引入hadoop rpc机制初探&quo…
原文  http://www.cnblogs.com/wolfblogs/p/4147485.html 用了一段时间的hadoop,现在回来看看源码发现别有一番味道,温故而知新,还真是这样的 在使用hadoop之前我们需要配置一些文件,hadoop-env.sh,core-site.xml,hdfs-site.xml,mapred-site.xml.那么这些文件在什么时候被hadoop使用? 一般的在启动hadoop的时候使用最多就是start-all.sh,那么这个脚本都干了些什么? star…
正文: 一.体系背景 首先和大家说明一下:hadoop的心跳机制的底层是通过RPC机制实现的,这篇文章我只介绍心跳实现的代码,对于底层的具体实现,大家可以参考我的另几篇博客: 1. hadoop的RPC机制(参考:http://www.cnblogs.com/sh425/p/6893491.html )2. 动态代理(参考 :http://www.cnblogs.com/sh425/p/6893662.html )3. Java NIO(参考 :http://www.cnblogs.com/sh…
Hadoop版本Hadoop2.6 RPC主要分为3个部分:(1)交互协议(2)客户端 (3)服务端 (1)交互协议 协议:把某些接口和接口中的方法称为协议,客户端和服务端只要实现这些接口中的方法就可以进行通信了 Hadoop RPC中VersionedProtocol是所有协议的父类,只定义了两个方法. package org.apache.hadoop.ipc; import java.io.IOException; /** * Superclass of all protocols tha…
一.为什么学习Http协议       首先明白我们为什么学习HTTP协议,也就是说明白HTTP协议的作用.HTTP协议是用于客户端与服务器之间的通讯.明白了HTTP协议的作用也就知道了为什么要学习HTTP协议了.因为我们做WEB的都是在服务器端访问资源,浏览器就是我们的客户端,我们所呈现的界面还是资源都是访问服务器而展示出来的,所以说要学好WEB就要了解清楚HTTP协议有哪些作用及其功能,本篇还是大体上介绍HTTP协议,之后系列会详细来描述各个功能. 二.简单的Http协议      我们现在…
http协议是位于应用层的协议,我们在日常浏览网页比如在导航网站请求百度首页的时候,会先通过http协议把请求做一个类似于编码的工作,发送给百度的服务器,然后在百度服务器响应请求时把相应的内容再通过http协议做一个类似于解码的工作,这样浏览器才能理解这个数据,然后为我们展示出来百度首页. 这相当于是一种规范,网络中数据的传输在位于应用之下的各层(传输层,应用层)来完成的,在tcp/ip协议接收到数据时,我们是不能直接使用和浏览的,需要先通过一种规范来进行梳理,也就是解码,得到浏览器支持的一种格…
作者:Vamei 出处:http://www.cnblogs.com/vamei 转载请先与我联系. TLS名为传输层安全协议(Transport Layer Protocol),这个协议是一套加密的通信协议.它的前身是SSL协议(安全套接层协议,Secure Sockets Layer).这两个协议的工作方式类似,但TLS协议针对SSL协议进行了一些改善.SSL/TLS协议利用加密的方式,在开放的互联网环境中实现了加密通信,让通信的双方可以安心的说悄悄话.. 加密 SSL协议的基础是加密技术.…
作者:Vamei 出处:http://www.cnblogs.com/vamei 转载请先与我联系. DHCP协议用于动态的配置电脑的网络相关参数,如主机的IP地址,路由器出口地址.DNS域名服务器地址等.一台电脑只要接上网,就可以通过DHCP协议获得相关配置,从而顺利的畅游网络. 网络配置 电脑刚刚接上网络时,像一个走入一家新餐厅的食客,不免会有很多疑惑: “我该坐在哪里?” “我怎么点菜?” “我该如何结账?” 初入大饭店 如果顾客的问题长时间得不到解答,那么餐厅很可能失去这位客人.于是,餐…
Jodd 是一个开源的 Java 工具集, 包含一些实用的工具类和小型框架.简单,却很强大! jodd-http是一个轻巧的HTTP客户端.现在我们以一个简单的示例从源码层看看是如何实现的? HttpRequest httpRequest = HttpRequest.get("http://jodd.org"); //1. 构建一个get请求 HttpResponse response = httpRequest.send(); //2.发送请求并接受响应信息 System.out.p…
javascript:这个特殊的协议类型声明了URL的主体是任意的javascript代码,它由javascript的解释器运行. 比如下面这个死链接: <a href="javascript:void(0)">No response link</a> 将javascript代码添加到客户端的方法是把它放置在伪协议说明符号 javascript:后的URL中.这个特殊的协议类型声明了URL的主体是任意的javascript代码,它由javascript的解释器运…
声明:以下内容是学习谌玺老师视频整理出来(http://edu.51cto.com/course/course_id-861.html) SNMP(Simple Network Management Protocol,简单网络管理协议),基于TCP/IP工作,能对企业网络中支持SNMP功能的设备进行集中网络管理.这些设备包括服务器.工作站.路由器.交换机.PIX防火墙.ASA.入侵检测与防御设备等,它是一种开放的.标准的应用层协议.SNMP使网络管理员能够更有效的管理企业网络,包括:集中监控网络…
什么是MQTT协议 MQTT(消息队列遥测传输协议)是IBM在1999年专门针对物联网等应用场景来制订的轻量级双向消息传输协议,它主要是为了解决物联网上使用到的设备的互相通信的问题,以及这些设备与后端应用系统之间通信的问题. 为什么需要MQTT(或类似)协议 随着智能硬件和移动互联网技术的快速发展,传统的互联网协议越来越难以满足物联网的需要,体现在:移动网络代价昂贵,带宽低.可靠性差:在嵌入设备中运行,处理器和内存资源有限:海量在线设备产生庞大数据,给云端带来很大的网络开销和处理压力. MQTT…
远程管理控制方式: RDP(remote desktop protocol)协议: telnet: SSH(Secure Shell): RFB(Remote FrameBuffer)协议(图形化远程管理协议)   VNC服务器:Linux下实现RFB协议的远程管理软件. 安装:yum install tigervnc.x86_64 tigervnc-server.x86_64 VNC运行机制: 5800+显示编号:vnc的httpd监听端口: 5900+显示编号:vnc服务端与客户端通信的端口…
RTSP发起/终结流媒体.RTP传输流媒体数据 .RTCP对RTP进行控制,同步.RTP中没有连接的概念,本身并不能为按序传输数据包提供可靠的保证,也不提供流量控制和拥塞控制,这些都由RTCP来负责完成.RTSP可以对流媒体提供诸如播放.暂停.快进等操作,它负责定义具体的控制消息.操作方法.状态码等.以下为转载:   本文主要介绍RTP与RTCP协议. author: ZJ   06-11-17 Blog: [url]http://zhangjunhd.blog.51cto.com/[/url]…
杂项之python描述符协议 本节内容 由来 描述符协议概念 类的静态方法及类方法实现原理 类作为装饰器使用 1. 由来 闲来无事去看了看django中的内置分页方法,发现里面用到了类作为装饰器来使用,由于之前就看到过这一类的用法,但是一直没有明白具体是如何实现的,今天本着打破砂锅问到底的精神去网上搜资料,在这里不得不吐槽下百度搜索的垃圾了.....竞价排名做的那么6,搜一些技术文档.....各种坑爹...就是找不到想要的资源...于是FQ上google搜了搜,找到了python官网的文档...…
一.http的缺点 之前有介绍过http协议相关的一些知识,http是相当优秀和方便的,但它也有缺点,主要不足表现在如下几个方面: △ 通信使用明文(不加密),内容可能会被窃听 △ 不验证通信方的身份,因此可能遭遇伪装 △ 无法证明报文的完整性,所以有可能已被篡改 其他未加密的协议也存在这类问题 △ 某些特定web服务器和特定web浏览器存在安全漏洞 1.通信使用明文可能被窃听 http本身不具有加密功能,无法做到对通信整体(使用http协议通信的请求和响应内容)进行加密,即:http报文使用明…
在之前的一篇文章中,我们已经介绍了如何为一个应用添加对CAS协议的支持,进而使得我们的应用可以与所有基于CAS协议的单点登陆服务通讯.但是现在的单点登陆服务实际上并不全是通过实现CAS协议来完成的.例如Google就使用OAuth协议来管理它的帐户. 相较于CAS协议,OAuth协议不仅仅可以完成对用户凭证的验证,更可以提供权限管理的功能.在这些权限管理功能的支持下,一个应用甚至可以访问其它使用相同OAuth服务的应用的数据,从而完成应用间的交互. OAuth集成示例 现在我们就来看一个通过OA…
相信大家对单点登陆(SSO,Single Sign On)这个名词并不感到陌生吧?简单地说,单点登陆允许多个应用使用同一个登陆服务.一旦一个用户登陆了一个支持单点登陆的应用,那么在进入其它使用同一单点登陆服务的应用时就不再需要重新登陆了.而CAS协议则正是各单点登陆产品所需要实现的协议,其全称为Central Authentication Service. 那为什么要写这篇博客呢?这是因为在为公司的产品集成SSO的时候,我发现如果软件开发人员不了解CAS协议,那么他在集成出现错误的时候将完全没有…