09 2016 档案

摘要:以下主要记录的是看完scala in programming这本书Functional Objects(第六章)后的要点总结。 1,程序中可变对象(var)和不可变对象(val)使用的权衡问题 不可变对象(val)相比较可变对象(var) 优点:简单,没有状态的变化,没有多线程问题。 缺点:需要对象 阅读全文
posted @ 2016-09-25 11:18 超级核弹头 阅读(258) 评论(0) 推荐(0)
摘要:在写实时应用解析日志的时候,有如下代码: 以上代码在写的单元测试中能够顺利通过,但是接线上以后总是出现一些莫名奇怪的错误。报的异常基本在代码6,7行处(由于当时没有截图,所以不能贴了)。查了一下,原因是SimpleDateFormat不是线程安全的。一个简单的解决办法是每次解析时都重新new一个Si 阅读全文
posted @ 2016-09-20 19:43 超级核弹头 阅读(1403) 评论(0) 推荐(0)
摘要:在写spark streamming读取kafka latest offset的时候,有一下语句: Map<TopicAndPartition, Object> latestOffsets = JavaConversions.mapAsJavaMap( (scala.collection.Map<T 阅读全文
posted @ 2016-09-08 21:27 超级核弹头 阅读(6081) 评论(1) 推荐(1)
摘要:让运维加监控,被问到Requests Per Second(见下图)的具体含义是什么?我一时竟回答不上来,虽然大概知道它是指每秒Region Server的请求数,但是具体是怎么算的呢,不清楚。于是决定通过研究源码深入了解下。下面便记录了这个过程。 1,先在代码库中全局搜索Requests Per 阅读全文
posted @ 2016-09-07 20:25 超级核弹头 阅读(4375) 评论(0) 推荐(1)
摘要:server端rpc包括master和RegionServer。接下来主要梳理一下,master和regionserver中有关rpc创建,启动以及处理的过程。 1,server rpc的初始化过程 首先看一下上篇rpc概述中有关hbase rpc端的总体流程图。 由于HMaster继承自HRegi 阅读全文
posted @ 2016-09-06 15:38 超级核弹头 阅读(3489) 评论(0) 推荐(0)
摘要:RPC是hbase中Master,RegionServer和Client三者之间通信交流的纽带。了解hbase的rpc机制能够为通过源码学习hbase奠定良好的基础。因为了解了hbase的rpc机制能够很快通过debug深入理解hbase各种机制(比方说flush,compaction,scan等请 阅读全文
posted @ 2016-09-05 16:02 超级核弹头 阅读(4773) 评论(0) 推荐(0)