- 博客(122)
- 资源 (7)
- 收藏
- 关注
原创 Intellij Hadoop源码阅读以及社区代码开发
有的时候有些hadoop的类打开之后,祖国河山一片红,首先需要检查这些需要的类所在的目录是不是被识别为Source Root或者设置为Generated Source Root一般有如上设置就可以正常引用了,但是这次碰到的问题是即使有如上设置,还是无法import成功识别。而且可以看到有一个类显示的图标很有意思,如下ClientNamenodeProtocolProtos.java显...
2019-01-08 17:47:16
1272
2
原创 从开源代码学习JAVA基础之继承体系
从开源代码学习JAVA基础之继承体系类图知识点一般来说我们说继承的时候,脑子里想到的是肯定不会是这样一张图。想到的首先可能是会飞的和会叫的鸭子,head first设计模式的例子。给一个类插上不同的功能的接口。但其实,那只是很简单的一种情况。这里的案例,是mapreduce包中重构了mapred的api之后的类图。可以看出来,新版本的mapreduce的一些倾向性更偏向使用抽象类来...
2019-01-05 13:55:08
479
原创 从Spark Shuffle RDD到Shuffle Service on Yarn 源码阅读 二
从Spark Shuffle RDD到Shuffle Service on Yarn 源码阅读 二涉及内容从Task执行,到RDD的读取,以及Shuffle数据的获取。本章主要从第二部分入手Task体系一 ShuffleMapTask的读和写二 Shuffle Block的读和写三 External Shuffle Service的设计引子上一章完成了从ShuffledRDD到Shu...
2018-11-16 22:30:09
823
原创 从Spark Shuffle RDD到Shuffle Service on Yarn 源码阅读 一
@TOC从Spark Shuffle RDD到Shuffle Service on Yarn 源码阅读从Spark Shuffle RDD到Shuffle Service on Yarn 源码阅读涉及内容从Task执行,到RDD的读取,以及Shuffle数据的获取。Task体系ShuffleMapTask的读和写Shuffle Block的读和写External Shuffle Ser...
2018-11-10 21:25:31
835
原创 Java Unsafe and volatile
起源在阅读ConcurrentLinkedQueue中看到了很奇怪的用法,难以理解,如下,为什么会用到UNSAFE的这个putOrderedObject方法呢/** * Tries to CAS head to p. If successful, repoint old head to itself * as sentinel for succ(), below. *...
2018-06-24 18:54:36
2154
原创 NodeManager源码阅读 Thread.setDefaultUncaughtExceptionHandler
NodeManager源码阅读NodeManager源码的时候注意到一个很有意思的java代码,如下 public static void main(String[] args) throws IOException { Thread.setDefaultUncaughtExceptionHandler(new YarnUncaughtExceptionHandler()); St
2017-12-03 21:30:14
1898
原创 Intellij mvn git hbase
使用intellij查看hbase源码的过程中,处理hbase 1.1.2的时候万事OK,但是git checkout到2.0.1的时候就悲剧了,会发现 imp文件里面的依赖的一些jar还是1.1.2的时候的jar,如果手动给某些项目加上module dependency的话会缓解一些,但是那么多project怎么加依赖呀。mvn命令各种姿势都OK,唯独intellij不工作。In
2017-10-13 15:29:08
3321
原创 htrace-zipkin与hadoop集成
这里坑更多hadoop zipkin配置hadoop的zipkin配置部分的文章就是shit呀,包括官方文档。 我这里使用的是hadoop 2.7.1https://hadoop.apache.org/docs/r2.6.0/hadoop-project-dist/hadoop-common/Tracing.html 来看看官方文档,照着配置,绝对不能成功,呵呵为什么呢,咱们来看看这个jira
2017-07-30 16:56:07
4167
原创 htrace-zipkin与hbase集成
一如此坑深似海,再回身已是百年身。话说开源领域里面就是各种坑,尤其是hadoop领域。所以才创造了这么多就业机会[笑哭]今天一起鼓捣一下htrace-zipkin。HTRACE与ZIPKIN分布式系统里面进行监控分析性能问题是一件很头疼的事情,根据google的DAPPER论文,cloudera提供了htrace的开源实现,可以分析跨进程,跨节点的调用性能分析。 而ZIPKIN是现有的一个可以为
2017-07-30 16:33:27
4800
原创 HBase flush issue
最近经常有region进入无休止的flush状态,并且会导致用户MR无法插入数据到HBase,从而导致MR超时被Kill。hbase regionserver中的flush log如下2017-06-13 14:05:55,799 INFO org.apache.hadoop.hbase.regionserver.HRegionServer:xxdn2076.stratus
2017-06-20 13:13:37
4346
原创 HBase Table Enabling issue
有的时候HBase的表在enable的过程中出现问题,导致最终状态处于中间状态,而这个时候客户端又没有办法使用这个表。这里分析一下一个caseenvhbase 0.98.0.2.1.3.7-18-hadoop2 版本比较老Issue如下的表的状态就处于中间状态hbase(main):011:0> is_enabled 'prod_eglesprk_tasks'false0 row(s) in
2017-05-23 18:11:39
3277
原创 个人博客上线了 v2agile.com
个人博客上线了 v2agile.com 上学的时候写过个人博客,但是当时穷学生,舍不得花钱买空间和域名,一直没有弄起来。而且作为软件从业者,自己启动个tomcat,写点jsp建个网站觉的做出来很难看,主要是前端不好看。最近因为经常需要记录一些文字,而且也喜欢Markdown的文档,碰巧有个同事自己有建立自己的站点,请教了之后于是结合自己的一些喜好,搭建了这个站点。站点名字http://www.
2017-05-01 23:03:11
2547
原创 hadoop somaxconn 配置优化
2017-04-26 03:41:59,354 INFO org.apache.hadoop.hdfs.server.datanode.DataNode: Exception for BP-1687617170-10.8.211.11-1404135347814:blk_8843355098_1109841848870java.net.SocketTimeoutException: 60000
2017-05-01 11:04:52
2534
原创 Map Reduce commit job 优化
经常会看到用户的job在所有的map和reduce都完成之后,还需要几分钟时间才能finish。这个阶段主要在进行job output的commit过程。MR v2中有进行这部分的优化。https://issues.apache.org/jira/browse/MAPREDUCE-4815https://issues.apache.org/jira/browse/MAPREDUCE
2017-04-03 21:53:36
3260
原创 Kerberos Hadoop Java代码原理学习
缘起一直被这个三头恶犬欺负,今天我们分析一下它们的实现机制。一提到kerberos,就会想起来一些概念,keytab, principal, tgt, ticket, KDC, JAAS, subject, credential, UGI, GSS等,概念难懂,代码也很难理解。kerberos本身的概念这里就不分析了,自行看介绍。主要分析下java代码层面的东西。初识UGI
2017-04-03 10:23:03
4044
原创 HBase Compaction 源码分析
目标:我们的集群需要设计对于某些表不做compaction,客户提出来可以提高compaction Threshold文件个数从默认的3到10来避免这个问题,但是这样会导致集群的通用型降低,而且会有损meta表的查询性能。再不做这些改变的情况下,探索hbase现在有的设计中,如何规避compaction发生本文主要根据http://www.wtoutiao.com/p/g6a0wA
2017-03-28 16:07:29
2985
原创 MVN编译问题Maven2RepositoryLayoutFactory: Unsupported repository layout legacy
编译hbase 0.98的一个程序的,然后莫名奇妙的就开始报错。。。。[INFO] Scanning for projects...[INFO][INFO] ------------------------------------------------------------------------[INFO] Building hbaseHealthChecker 0.
2017-03-24 14:36:56
3894
原创 HBase Client Get 源码分析
1 入口HTable.javaprivate Result get(Get get, final boolean checkExistenceOnly) throws IOException { // if we are changing settings to the get, clone it. if (get.isCheckExistenceOnly() != che
2017-01-05 17:27:38
3196
转载 闭包漫谈(从抽象代数及函数式编程角度)
闭包漫谈(从抽象代数及函数式编程角度)http://blog.codinglabs.org/articles/closure-perspective-of-abstract-mathematic-and-functional-language.html 之前看spark源码的时候经常看到闭包,不过一直没搞懂,这篇文字真正解惑了。如果Google一下“闭包”这个词,会
2015-09-16 15:47:07
3948
转载 一致性哈希算法(Consistent Hashing)及其在分布式系统中的应用
最近需要给一个分布式缓存设计的方案,一开始给了一个普通hash的方案,被人鄙视了,然后回来看了,应该用一致性hash来做。本文将会从实际应用场景出发,介绍一致性哈希算法(Consistent Hashing)及其在分布式系统中的应用。首先本文会描述一个在日常开发中经常会遇到的问题场景,借此介绍一致性哈希算法以及这个算法如何解决此问题;接下来会对这个算法进行相对详细的描述,并讨论
2015-09-16 15:31:33
4088
转载 HyperLogLog: 解读Cardinality Estimation算法(第一部分:基本概念)
前几天看了bloom filter,最近又不小心看了有文章提到hyperloglog,于是做了一点searchhttp://blog.csdn.net/heiyeshuwu/article/details/41248379 高压缩空间占用的 Hyper LogLog 算法http://blog.codinglabs.org/articles/algorithms-f
2015-09-16 15:23:23
11731
转载 MySQL锁用法介绍
http://book.51cto.com/art/200803/68118.htm摘要:《深入浅出MySQL——数据库开发、优化与管理维护》从数据库的基础、开发、优化、管理4方面对MySQL进行了详细的介绍,其中每一部分都独立成篇,每一篇又包括多个章节。本书面向实用,内容覆盖广泛,讲解由浅入深,适合于各个层次的读者。 第20章 锁问题锁是计算机协调多个进程或线程并发访问某一资源的
2015-08-07 16:30:45
5552
转载 mysql 数据表读锁机制详解
为了给高并发情况下的mysql进行更好的优化,有必要了解一下mysql查询更新时的锁表机制。一、概述MySQL有三种锁的级别:页级、表级、行级。MyISAM和MEMORY存储引擎采用的是表级锁(table-level locking);BDB存储引擎采用的是页面锁(page-levellocking),但也支持表级锁;InnoDB存储引擎既支持行级锁(row-level locki
2015-08-07 15:09:24
4950
转载 POM.xml详解
一、什么是POMProject Object Model,项目对象模型。通过xml格式保存的pom.xml文件。作用类似ant的build.xml文件,功能更强大。该文件用于管理:源代码、配置文件、开发者的信息和角色、问题追踪系统、组织信息、项目授权、项目的url、项目的依赖关系等等。一个完整的pom.xml文件,放置在项目的根目录下。[html]
2015-07-25 18:11:14
3801
转载 Maven详解
(一):生命周期和插件原文地址:http://blog.csdn.net/chaofanwei/article/details/36197183在项目里用了快一年的maven了,最近突然发现maven项目在eclipse中build时非常慢,因为经常用clean install命令来build项目,也没有管那么多,但最近实在受不了乌龟一样的build速度,于是下定决心再看看《mav
2015-07-25 18:05:08
2687
转载 JMX之ObjectName
ObjectName 就是存储了一个domain(域)下的一些属性,属性的存储采取key-value的方式来存储,这个类的一个精华所在就是domian及属性(key或者value)都是支持正则的,比如:*表示匹配所有,?表示匹配一个字符。 一、ObjectName注释翻译 ObjectName 表示一个Mbean的对象名称,或者是表示一个能够匹配几个Mbean
2015-06-19 16:44:27
9845
转载 设计模式
设计模式;一个程序员对设计模式的理解:“不懂”为什么要把很简单的东西搞得那么复杂。后来随着软件开发经验的增加才开始明白我所看到的“复杂”恰恰就是设计模式的精髓所在,我所理解的“简单”就是一把钥匙开一把锁的模式,目的仅仅是着眼于解决现在的问题,而设计模式的“复杂”就在于它是要构造一个“万能钥匙”,目的是提出一种对所有锁的开锁方案。在真正理解设计模式之前我一直在编写“简单”的代码.这个“简
2015-06-15 16:16:58
2193
原创 Spark之 Data storage 模块
大纲数据压缩:霍夫曼,parquet数据读取:数据解压缩:bit byte操作数据传输Object Assemble/ FMS --- Dremel 论文
2015-06-05 14:28:02
2046
原创 Apache Drill 框架探究
慢慢来,先给大纲Drill ArchitectureDremel理论基础实例分析一个query的执行计划Drill mysql storage adapter代码分析特殊场景下的Drill mysql storage logical plan optimization 优化
2015-06-05 14:18:03
4037
原创 数据库原理与Spark和Drill
占坑,以后补上数据库原理逻辑计划ANTLR词法解析关系代数物理计划传统的Table scan,index scanHbase FilterSpark 和 Drill
2015-06-05 14:13:53
3510
原创 Apache Drill之 SQLParser Apache Calcite
Apache DrillDrill的逻辑结构如下图所示。其中SQL Parser部分采用的是Apache Calcite。简单的来说这里在Drill里面Calcite实现的功能是提供了JDBC interface,接收用户的查询请求,然后将SQL Query语句转换成为SQL语法树,也就是逻辑计划。比如查询语句:SELECT device, cust_id, order_i
2015-06-05 14:02:58
17575
转载 对进程地址空间的一点认识
http://blog.csdn.net/qingfeng_happy5/article/details/4322723对进程地址空间的一点认识在进入正题前先来谈谈操作系统内存管理机制的发展历程,了解这些有利于我们更好的理解目前操作系统的内存管理机制。一 早期的内存分配机制在早期的计算机中,要运行一个程序,会把这些程序全都装入内存,程序都是直接运行在内存上的,也就是说程序中访问
2015-05-28 10:36:11
2128
原创 Spark Shuffle初探
之前一直疑惑Shuffle过程中的读和写究竟是在哪里实现的,一直误解读和写都是在RDD的转换过程中实现的,但是追踪代码reduceByKey,却只找到了生成ShuffledRDD的过程,然后在ShuffledRDD中的compute函数中有读取过程,那么写入过程究竟在哪里呢??PairRDDFunctionsdef combineByKey[C](createCombiner: V
2015-05-12 08:00:47
4399
原创 Spark RDD依赖关系小结
本图暂时只给了非常简单的OneToOneDependency的RDD依赖关系Discussstage根据dependency类型的划分,没有详细给出stage的依赖关系没有给出shuffle dependency没有给出
2015-05-04 14:52:46
1660
转载 Spark源码系列(二)RDD详解
http://www.cnblogs.com/cenyuhai/p/3779125.html最近在阅读源码,发现这篇博客内容非常好,有助于快速理解代码。1、什么是RDD?上一章讲了Spark提交作业的过程,这一章我们要讲RDD。简单的讲,RDD就是Spark的input,知道input是啥吧,就是输入的数据。RDD的全名是Resilien
2015-04-11 13:52:09
6946
转载 hive sql 学习笔记(1)
转载自http://www.cnblogs.com/tangtianfly/archive/2012/03/13/2393449.html一、 创建表 在官方的wiki里,example是这样的:CREATE [EXTERNAL] TABLE [IF NOT EXISTS] table_name [(col_name data_typ
2015-01-29 16:11:07
712
转载 Hive SQL使用和数据加载的一点总结
转自:http://slaytanic.blog.51cto.com/2057708/782175/Hive 是facebook开源的一个基于hadoop框架的查询工具,也就是说,需要用hive的话,就要先安装hadoop。这次是小结一下最近用hive的心得,经验分享。hadoop和hive,pig,hbase的安装配置以后专门另开个连载说比较好。所以,我假设你已经
2015-01-29 16:07:19
609
转载 TIPC协议和实现解析
公司的Cluster集群中使用了TIPC协议来管理CLuster的底层交互,如下所示,下面的命令可以查看其它cluster成员的状态。然后顺便查询了下TIPC协议,发现可以使用在高可用的集群环境中进行通信,cost要比UDP/TCP低很多,当设计针对集群通信的程序的时候,可以考虑使用TIPC设计底层通信。1, TIPC简介TIPC是爱立信公司提出
2015-01-06 16:25:17
7715
原创 XML格式转换成JSON
XML格式转JSON,但是有个问题就是,这样转换的时候,XML的顶级结点没有被转换成为JSON,直接被吃掉了。* sample.xml放置的位置,这里使用的getResourceAsStream方法,相对路径是相对于编译出来的.class文件的相对路径。* 使用到的包commons-beanutils-1.9.2.jarcommons-collections-3.2.1
2014-12-12 16:29:37
3153
Must you choose between business rules and CEP
2014-04-12
MegaStat2007
2013-03-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人