`
文章列表
  一、概要描述 在上一篇博文中主要描述了JobTracker接收作业的几个服务(或功能)模块的初始化过程。本节将介绍这些服务(或功能)是如何接收到提交的job。本来作业的初始化也可以在本节内描述,但是涉及到JobInProgress的初始化过程放在一张图上太拥挤,就分开到下一篇文章中描述。 二、 流程描述      1. JobClient通过RPC的方式向JobTracker提交作业; 2. 调用JobTracker的submitJob方法。该方法是JobTracker向外提供的供调用的提交作业的接口。 3. submit方法中调用JobTracker的addJob方法。 ...
  一、概要描述 本文重点描述在JobTracker一端接收作业、调度作业等几个模块的初始化工作。想过模块的介绍会在其他文章中比较详细的描述。受理作业提交在下一篇文章中会进行描述。 为了表达的尽可能清晰一点只是摘录 ...
  在整理FairScheduler实现的task调度逻辑时,注意到EagerTaskInitializationListener类。差不多应该是job提交相关的逻辑代码中最简单清楚的一个了。 todo:标红文字表示要加前向链接,待相关文字草稿提交后。 一、概述 继承自JobInProgressListener,实现了jobAdded,jobRemoved,jobUpdated方法。哦,不能说实现,应该说继承,JobInProgressListener居然是个抽象类,看着怎么这样的listener也应该是个interface。 在该listener被注册后,就响应jobAdded ...
Hadoop的各个服务间,客户端和服务间的交互采用RPC方式。关于这种机制介绍的资源很多,也不难理解,这里不做背景介绍。只是尝试从Jobclient向JobTracker提交作业这个最简单的客户端服务器交互的代码中,去跟踪和了解下RPC是怎么被使用的。不同于准备发表博客时搜索的几篇博文,试图通过一种具体的场景来介绍,属于比较初级。其他DataNode和Namenode之间,Tasktracker和JobTracker之间的交互基本也都一样。为了引用的代码篇幅尽可能少,忽略了代码中写日志(包括Metrics)、某些判断等辅助代码。 1 RPC客户端请求(从JobClient 的jobSubm ...
1.      概要描述仅仅描述向Hadoop提交作业的第一步,即调用Jobclient的submitJob方法,向Hadoop提交作业。 2.      详细描述Jobclient使用内置的JobSubmissionProtocol 实例jobSubmitClient 和JobTracker交互,最主要是提交作业、获取作业执行信息等。 在JobClient中作业提交的主要过程如下: 1)通过调用JobTracker的getNewJobId()向jobtracker请求一个新的作业ID2)获取job的jar、输入分片、作业描述等几个路径信息,以jobId命名。3)其中getSystem ...
GREENPLUM介绍之数据库管理(七)- 配置数据库高可用性之master镜像       master镜像是通过把primary master对应的standby master放置到不同的物理主机实现的。正常情况下只有primary master接受用户连接请求,standby master通过gpsyncagent进程(运行在standby master上)利用事务日志保持与primary master的同步。由于master上不存放任何用户数据,存放在其中的表不会频繁更新,因此同步是实时的。standby master所在主机除了复制进程外,没有正式master服务运行。当pri ...
mysql死锁的一些案例   String filename = "a.txt"; RandomAccessFile rf = new RandomAccessFile(filename, "rw"); FileChannel fc = rf.getChannel(); //将文件大小截为0 fc.truncate(0);
在java中,无法使 用类直接赋值,即使用Login loginB=loginA;这样的赋值方式,虽然编译起来是没有错的,但往往与实际用法出现叉错.本意是new 一个新类出来,将LoginA的值赋给LoginB,但是,这时候,你会发现,如果你修改了LoginB的值,loginA的值也会随之而改变,这是因为什么呢?     其实这个原因很简单,因为java不同C语言类的有指针,java是通过直接指向内存的引用而调用对象的 如图:     由图可以看出,对像LoginB仍然指向LoginA的堆空间   为了解决这种情况,我使用如下的例子: 先定义User类 ...
HashMap是一种十分常用的数据结构,作为一个应用开发人员,对其原理、实现的加深理解有助于更高效地进行数据存取。本文所用的jdk版本为1.5。 使用HashMap 《Effective JAVA》中认为,99%的情况下,当你覆盖了equals方法后,请务必覆盖hashCode方法。默认情况下,这两者会采用Object的“原生”实现方式,即: view plain copy to clipboard print ? protected   native   int  hashCode();     public   boolean ...
首先我们看看浅拷贝和深拷贝的定义     浅拷贝 :只复制一个对象,对象内部存在的指向其他对象数组或者引用则不复制     深拷贝 :对象,对象内部的引用均复制     为了更好的理解它们的区别我们假设有一个对象A,它包含有2对象对象A1和对象A2       对象A进行浅拷贝后,得到对象B但是对象A1和A2并没有被拷贝     对象A进行深拷贝,得到对象B的同时A1和A2连同它们的引用也被拷贝     在理解了深拷贝和浅拷贝后,我们来看看Java 的 深拷贝和浅拷贝实现。java.lang.Object的clone()方法默认是返回一个前拷贝对象。 ...
Visual GC http://java.net/projects/visualvm/downloads
Description: When executing a replication workload with semisynch replication turned off and periodic STOP SLAVE IO_THREAD thread, START SLAVE IO_THREAD (in order to simulate network failures), the slave stopped with the following information in SHOW SLAVE STATUS: mysql> show slave status\G ***** ...
找到了一个解决方案(待验证)  因为问题没有重现 此方案是想通过过滤掉临时表来解决复制临时表报错的问题 在mysql  my.ini中 [mysqld] 下配参数 replicate-wild-ignore-table=数据库名.temp% ------------ 问题: 自从使用数据库同步复制技术以来同步的异常中断就一直没有有效解决,销售单中的“商品展示”存储过程P_SPXX_GYCX,中使用的临时表temp_yd经常成为同步中断的原因,系统报错信息几乎始终是: Slave: Error 'Table 'octopus.temp_yd' doesn't exist' on query. De ...
中文转换成ASCII码并用十六进制表示  2010-08-24 14:50:20|  分类: 默认分类 |字号 订阅 由于我自己的毕业设计的需要,我需要在把用户输入的一个文本框中文字符提取出来,转换成像浏览器里地址栏里的ASCII码的十六进制的形式, ...
1、java.lang.LinkageError: loader constraints violated when linking org/apache/axis/types/URI class 类链接错误。该错误及其所有子类指示某个类依赖于另外一些类,在该类编译之后,被依赖的类改变了其类定义而没有重新编译所有的类,进而引发错误的情况。在不同bundle里存在相同的jar(包括不同的版本),留意错误提示里面提到的class,该类在多个bundle内被用到。解决方法:在一个bundle内export对应的类包 2、org.osgi.framework.BundleException: The ...
Global site tag (gtag.js) - Google Analytics