- 博客(21)
- 资源 (11)
- 收藏
- 关注
原创 hadoop 2.6 源码 解读之 HDFS小结
HDFS 文件 是 write-once-read-many ,不支持客户端的并行写操作。 租约(lease)机制保证了HDFS文件的互斥操作。 客户端写HDFS文件时,先从租约管理器(LeaseManager)申请一个租约,成为租约持有者,也就有了对该HDFS文件的独占权限Hadoop 2.3 以上,新增了centralized Cache Management,允许用户将一些文件目...
2018-04-28 10:41:27 270
原创 hadoop 2.6 源码 解读之 Namenode 与 Datanode 交互
Datanode启动后,会与Namenode握手、注册,以及第一次向NameNode发送全量块汇报,之后 每100个心跳间隔 (默认300s) 向Namenode发起增量汇报(添加、删除信息),同时间隔6小时发起全量汇报汇报(防止增量汇报出现异常)。为提高HDFS启动速度,针对DataNode第一次全量汇报,为提高响应速度,Namenode不会对元数据做处理(重新计算哪些需要删除 或 失效),推迟到
2018-04-27 17:57:04 340
原创 hadoop 2.6 源码 解读之 Fsimage 实现
实现类 为 FSImage 主要有三个功能保存命名空间,NameNode内存中的namespace 保存在本地文件系统fsimage 文件中加载fsimage 加载editlogseen_txid:保存了日志重置时的最新的 transaction id,并不代表 Namenode 内存中最新的事务id使用 protobuf 对 fsimage 文件 进行序列化合并 fsi...
2018-04-26 17:53:14 331
原创 各种语法分析方法
递归下降分析法之预测分析法文法产生式举例一个预测分析器的伪代码void stmtO {}switch ( lookahead ) {case expr:match(expr); match(' ; ') ; break;case if:match(if); match(' C') ; match(expr); match(' ) ') ; stmtO;break;case for:
2018-04-24 15:30:52 3667
原创 正则表达式和自动机
正则表达式和自动机具有等价性 EQUIVALENCE WITH FINITE AUTOMATARegular expressions and finite automata are equivalent in their descriptivepower. This fact is surprising because finite automata and regular expres...
2018-04-22 16:31:08 915
原创 语法分析
syn-tax(语法)the way in which words are put together to form phrases, clauses, or sentences.上下文无关文法 context-free grammars, a more powerful methodof describing languages. Such grammars can ...
2018-04-22 16:27:29 610
原创 词法分析器
lex词法分析器用于消除二义性的两条规则There are two important disambiguation rules used by Lex and other similar lexical-analyzer generators:Longest match: The longest initial substring of the input that can matc...
2018-04-22 10:41:42 213
原创 自动机相关总结
自动机理论Automata theory deals with the definitions and properties of mathematical models of computation. These models play a role in several applied areas of computer science. One model, called the ...
2018-04-21 18:25:18 547
原创 《西游记》之“趣经女儿国”
问世间,情为何物,何止生死相许,还托得一国之富。《西游记》五十四回,特地写了一回也是是全书唯一的凡人爱恋唐僧的故事,描写得情深意绵。六小龄童版《西游记》更是将其改编成千古佳话,呈现了太多美好,让人难以忘怀。原著中,唐僧师徒初到西梁女国,街道上的“女儿”们,直呼“人种来了!人种来了!”。可见西梁女人之多,连唐僧三个徒弟的嘴脸都不怕,惊喜之情溢于言表。这阵势,连平日最为好色的猪八戒也消受不了,八戒口里乱
2018-04-21 15:38:55 1947
原创 后其身而身先,外其身而身存
后其身而身先,外其身而身存。世间大多之事,莫过如此啊。《天龙八部》中慕容复一心一意以祖传训诫为重,欲兴复大燕的国家大业,为人心机颇重、城府极深。为了达成目的不择手段,众叛亲离,声名扫地,千方百计条条不成,最后屡屡受挫而发疯。《天龙八部》中虚竹,恰恰相反,好多事都是无意为之,结果意外受传了多项绝世武功,进入一流高手行列,最后还意外娶到了西夏公主(慕容复也在应招西夏驸马),真是无巧不成书。这两个人的遭遇
2018-04-19 09:51:51 690
原创 hadoop 2.6 源码 解读之 DFSClient 中的 proxyInfo HA case 实现
在DFSClient 中this.namenode = proxyInfo.getProxy();proxyInfo 用于和NameNode通信的对象在HA模式下首先创建 failoverProxyProvider AbstractNNFailoverProxyProvider<T> failoverProxyProvider = creat...
2018-04-18 17:49:48 421 1
原创 《孙子兵法》中的道与术
兵学圣典《孙子兵法》共十三篇,六千余言。不仅军事思想璀璨夺目,同样闪耀着中华文明的哲学光芒。孙子首篇即讲“道”,“兵者,国之大事,死生之地,存亡之道,不可不察也”。不轻言兵事,不轻开战端,不好大喜功,一切以国家为重。“故经之以五事,校之以计,而索其情:一曰道,二曰天,三曰地,四曰将、五曰法。”讲的是战略,战事未起,先谋天时地利人和。一旦开战,“兵者,诡道也”,掩饰自己,打击敌人,迅速获取胜利,结束战
2018-04-18 07:41:21 659
原创 java 线程池
Executors 还有个常用静态方法newCachedThreadPool(),来构造线程池 今天我们其源码实现,探一探究竟//底层还是调用ThreadPoolExecutor,不过参数有变化//corePoolSize 竟然为0,maximumPoolSize为默认的最大值//当任务队列满时,就会判断maximumPoolSize大小//keepAliveTime 空闲线程的最大等待时
2018-04-17 14:03:28 2520 1
原创 java.util.concurrent 小记
Unsafe,它提供了硬件级别的原子操作。 CAS,Compare and Swap即比较并交换,设计并发算法时常用到的一种技术,java.util.concurrent包全完建立在CAS之上,没有CAS也就没有此包,可见CAS的重要性。AtomicInteger 类里面 好多方法使用了Unsafe类 的CAS,功能相当于乐观锁Unsafe类 方法 几乎都是 native方法 native方法称
2018-04-17 08:16:27 149
原创 Executors.newFixedThreadPool 源码解析
Executors 有个常用静态方法newFixedThreadPool(int nThreads),来构造线程池 今天我们其源码实现,探一探究竟//new LinkedBlockingQueue<Runnable>()这里可以看出 是声明的无界队列大小,默认大小为Integer.MAX_VALUE public static ExecutorService newFixedThread
2018-04-16 18:09:10 676
原创 hadoop 2.6 源码 解读之 DFSClient方法调用的RPC流程
DFSClient 是应用程序访问hdfs的主要入口类 其方法调用最终通过RPC通信触发服务端响应请求。 以 rename方法为例,介绍整个流程 public void rename(String src, String dst, Options.Rename... options) throws IOException { checkOpen(); try...
2018-04-13 11:47:22 463 1
原创 hadoop 2.6 源码 解读之NameNodeRpcServer启动及request处理
NameNodeRpcServer 启动监听clientRpcServer 用于响应 hdfs 客户端的 RPC请求 serviceRpcServer 用于响应 DataNode RPC 请求 /** * Start client and service RPC servers. */ void start() { clientRpcServer.start(...
2018-04-12 09:45:57 849
原创 hadoop 2.6 源码解读之RPC Server 类高性能设计
hadoop 2.6 采用 谷歌protocol buffer作为通信协议,但是protocol buffer 相对于Thrift ,需要自己实现一套底层通信框架。hadoop Server类及其相关类,采用java NIO 及 多reactor 模式事件驱动I/O模型,外加多线程,实现了服务端高并发通信,构建了强有力的分布式基础设施。今天剖析下其代码实现。多reactorjava...
2018-04-10 17:11:31 190
原创 Linux 多路复用 I/O 对比 java NIO 网络编程
先介绍java NIO 网络编程比较重要的四个类ServerSocketChannelThe ServerSocketChannel class has one purpose: to accept incoming connections. You cannot read from, write to, or connect a ServerSocketChannel. The only oper
2018-04-10 14:13:39 278
原创 Linux 网络I/O复用 select poll epoll
今天总结下Linux网络编程高并发的几个函数selectint select(int nfds, fd_set *readfds, fd_set *writefds,fd_set *exceptfds, struct timeval *timeout) nfds 被监听描述符总数,即监听的最大描述符加1,readfds、 writefds 、exceptfds,是指向可读、可写、异常的文件描述符...
2018-04-09 13:34:42 158
原创 假期谈一谈名著《西游记》
近几年关于《西游记》题材电影太多太多,各方面的,西游记为什么突然火爆了,或许有资本的追逐,或许有其他。今天谈谈《西游记》名著本身,我五六岁的时候才接触到《西游记》,不是连环画,而是六小龄童的《西游记》电视剧,拍得很好看,记忆犹新,这部剧真是老少兼宜。时间的推移,我看到了原著,发现原著里内容更丰富,六小龄童《西游记》呈现了很多美好,去掉过火的一些内容,比如孙悟空杀死了"十八公"、“孤直公”、“杏仙”...
2018-04-06 15:06:53 298
Spring Boot in Action
2017-11-23
从PAXOS到ZOOKEEPER 国人写的技术实践书 分布式
2017-09-22
机器学习实战 英文版 Machine Learning in Action 书中所有代码和数据集
2017-09-13
机器学习实战 英文版 Machine Learning in Action
2017-09-13
数据库实现英文第二版 Database System Implementation
2017-09-11
yammer metrics-2.2.0 源码
2017-09-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人