08 2015 档案
摘要:将依赖Jar包拷贝到指定目录 mvn dependency:copy-dependencies -DoutputDirectory=/home/yanbit/Desktop/code/monitor_log/deploy/lib
阅读全文
摘要:ConfigurationProviderFactory结构如下: /** * Creates an instance of {@link ConfigurationProvider} using given * configuration. * @param bootstrapConf * @return configurationProvi...
阅读全文
摘要:上一篇blog分析了org.apache.hadoop.service.AbstractService主要功能是状态改变,org.apache.hadoop.service.CompositeService主要功能是进行服务的启停。 代码也比较简洁 private final List serviceList = new ArrayList(); 关于serviceList操作均作了...
阅读全文
摘要:org.apache.hadoop.service.AbstractService父类为org.apache.hadoop.service.Service其中Service主要变量和方法为:状态改变枚举/** Constructed but not initialized */ NOTINITED(...
阅读全文
摘要:详情见各种小图片: 事情起因,分不出哪里是实现父类,哪些是什么…overwrite注解有点蛋疼
阅读全文
摘要:public static void main(String argv[]) { Thread.setDefaultUncaughtExceptionHandler(new YarnUncaughtExceptionHandler()); StringUtils.startupShutdownMessage(ResourceManager.class, a...
阅读全文
摘要:org.apache.hadoop.util.GenericOptionsParser mark 主要解析命令行传递给RM的参数,没什么好分析的用的Hadoop Cli工具,将命令工具参数设置到了YarnConfiguration当中 /** * Modify configuration according user-specified generic options...
阅读全文
摘要:RM源码中实现了一个有序并有优先级的Hook,ShutdownHookManager相比JVM本身的执行Hook方式具有如下两种特性(默认JVM执行,无序,并发)1.顺序2.有优先级++++++++类被初始化时候执行1.设置shutdownInProgress标示2.执行Hook按照调度优先级pri...
阅读全文
摘要:启动日志打印:入口 主要打印:见红色字体处,也就是日志当中的信息 StringUtils.startupShutdownMessage(ResourceManager.class, argv, LOG); /** * Print a log message for starting up and shutting down * @param clazz th...
阅读全文
摘要:看到RM在处理异常的时候使用了两种退出方式,而且是针对不同的异常。特意查询了一些资料来看看,两种方式有什么不同。System.exit终止当前正在运行的Java虚拟机。参数作为状态代码,按照惯例,一个非零状态码表示异常终止。用线程描述,在多线程情况下,可能更准确一些1.调用方法后,线程会退出2.未捕...
阅读全文
摘要:总结一下: Thread.setDefaultUncaughtExceptionHandler(new YarnUncaughtExceptionHandler()); 方法主要记录,异常日志信息,并且记录完成后退出。 public static void main(String argv[]) { Thread.setDefaultUncaught...
阅读全文
摘要:刚刚看到ResourceManager源码第一行,就遇到了比较陌生的用法,特意研究一下,如何使用? 看源码的目标不就是学习,更好的来完善自己的代码,而不是面试时候的谈资。 下面是一个自己写的demo,setDefaultUncaughtExceptionHandler作用相当于一个全局的catch。一般情况下用于记录当程序发生你未捕获的异常的时候,调用一个你默认的handler来进行某些...
阅读全文
摘要:好了,让我们先来看看RPC的基础Server类的具体实现,很多设计思想和实践方式值的学习。重点不是看过源码,而是从源码中学习到了什么。尤其是其中,wait和notify的使用很好的学习范例,当然还有反射...Server start()方法是入口类,基本线程都是Daemon方式让我们来看看run里面执行了什么,主要是建立socket读取客户度请求。并将客户度请求并封装为call放入队列,提醒消费者...
阅读全文

浙公网安备 33010602011771号