
源码分析(HBase&Solr&Lucene)
文章平均质量分 65
杨步涛的博客
老杨,目前居住上海 微信:yangbt_6225080 qq:306591368 擅长云计算、分布式系统设计、docker容器化技术、海量数据的存储、搜索、数据挖掘。
展开
-
Hbase源码分析之org.apache.hadoop.hbase.client包
Scan:设置scan记录的条件,buffer size,cache size等ResultScanner:提供scan的接口,ClientScaner:客户端 ResultScanner的实现,数据分布在多个region之间的,就依次读取。用法如下: HTableInterface tbl = null; tbl = table.getTable("table原创 2013-04-30 16:27:54 · 3055 阅读 · 0 评论 -
Zookeeper源代码阅读分析之watcher机制
客户端ClientWatchManager,管理由ClientXncn产生的watchers和handle events在zookeeper的exists、getChildren、getData等这些API中可以注册watcher对象到ClientWatchManager中,create、setData、delete等这些引起zookeeper节点变化的API会触发watcher proc原创 2013-08-11 20:46:38 · 7676 阅读 · 1 评论 -
RabbitMQ Consumer获取消息的两种方式(poll,subscribe)解析
Producer和QueueConsumer和Queue长连接原创 2013-09-01 16:11:15 · 51432 阅读 · 2 评论 -
结合源码浅析solr facet
SearchHandler实现SolrRequestHandler,SolrCoreAware(inform接口) ---在SolrCore初始化的过程中,会依次调用SolrRequestHandler中的inform(SolrCore core)在inform的调用中,初始化SearchHandler中的components对象在处理请求,SearchHandl原创 2013-08-05 15:33:47 · 4973 阅读 · 0 评论 -
Solr分布式索引过程源码解析
Solr分布式索引过程解析单个节点的索引过程,以前写的blog http://blog.youkuaiyun.com/yangbutao/article/details/9851681 已经做了简单的分析对于分布式索引,请求处理过程最终会在节点上建立本地索引,多了请求在node间分发的过程。区别于单个节点的索引的索引处理processor Director2UpdateProcessor,分布原创 2013-09-05 19:43:23 · 3976 阅读 · 1 评论 -
Solr单节点索引和NRT源码分析
Solr索引过程源码分析原创 2013-08-29 16:06:12 · 4211 阅读 · 0 评论 -
结合源码分析Solr&Lucene查询打分的工作流程
solr中的搜索打分是在QueryComponent中进行的。在prepare中根据查询的参数,QueryParser对查询语句进行分词,并生成Query对象树。 QParser parser = QParser.getParser(rb.getQueryString(), defType, req); Query q = parser.getQuery();原创 2013-08-05 15:53:28 · 5383 阅读 · 1 评论 -
solr分布式搜索源码分析
solr分布式搜索源码分析原创 2013-08-16 09:59:16 · 4012 阅读 · 0 评论 -
solrcloud集群启动管理过程基于源码的分析
关于分布式环境下的如何Sharding分区,以及每个sharding的区间设置,sharding的拆分等在后面的章节做分析原创 2013-09-14 06:44:06 · 5839 阅读 · 0 评论 -
zookeeper源码阅读分析笔记--客户端服务端通信机制以及session超时、过期处理
zookeeper watch机制的原理分析原创 2013-08-11 11:39:37 · 12736 阅读 · 2 评论 -
HBase源码分析之org.apache.hadoop.hbase.client.coprocessor包
Endpoint就类似RDBMS里面的Stored procedure了,可以直接在Region Server上执行我们的代码,它主要提供了能够操作单个Region的proxy和操作多个Regions的proxy,这样我们可以做一些sum,count的操作,不用再client端去做(数据量大,client端撑不了)。这里重点说一下Coprocessor。客户端定义Coprocessor接口实现原创 2013-05-01 06:33:40 · 2920 阅读 · 0 评论 -
HBase源码分析之org.apache.hadoop.hbase.ipc包
HMasterInterface:client和Master之间的RPC接口HRegionInterface: client和RegionServer之间的RPC接口HMasterRegionInterface: regionServer和Master之间的RPC接口以上三个类是客户端获得的服务端逻辑实现的代理类stubHConnection: zookeeper 集群(HBase原创 2013-05-15 13:35:07 · 2502 阅读 · 0 评论 -
HBase源码分析之org.apache.hadoop.hbase.master.handler包
这个包下的主要是master提供的一些Executor线程池服务,供调用ClosedRegionHandler, 如果表被disabled,删除zk上的unassigned 相关node, 从transition状态中删除;否则分配另外一个server。CreateTableHandler, 在调用master上的接口创建Table时,可以指定splitkey,也可以不指定原创 2013-05-15 13:47:41 · 1886 阅读 · 0 评论 -
HBase源码分析之org.apache.hadoop.hbase.master包
1、Zookeeperwatcher:在初始化时,把所有的zookeeper上的baseNode下的节点(root-region-server,rs,draining,master,backup-masters,shutdown,unassigned,table,hbaseid,splitlog)都创建了,初始化时不带watch。在适当的时机,对这些节点创建watcher,监控他们的子节点的变原创 2013-05-15 13:44:53 · 2471 阅读 · 2 评论 -
HBase源码分析之org.apache.hadoop.hbase.catalog包
org.apache.hadoop.hbase.catalogCatalogTracker:主要是对-ROOT和-META表的跟踪,验证他们的有效性,可以获得到-ROOT和-META region的连接;通过start和stop方法,开启和关闭了对zookeeper中 root-region-server 节点、unassigned节点中的META 表的region的变化的通知跟踪的服原创 2013-04-29 19:32:12 · 2193 阅读 · 0 评论 -
HBase源码分析之org.apache.hadoop.hbase.regionserver包
1、Splitpolicy是Region在满足什么条件下,需要split操作,0.94版本中默认是IncreasingToUpperBoundRegionSplitPolicy1)ConstantSizeRegionSplitPolicy,2)KeyPrefixRegionSplitPolicy,3)RegionSplitPolicy,可以在配置文件中指定policy的实现hbase.原创 2013-05-15 15:19:01 · 4301 阅读 · 0 评论 -
HBase源码分析之org.apache.hadoop.hbase.filter包
Filter:运行在服务器端, RegionScannerImpl中的nextInternal(int limit)方法中进行调用 private boolean nextInternal(int limit) throws IOException { while (true) { byte [] currentRow = peekRow();原创 2013-05-15 13:30:17 · 2178 阅读 · 0 评论 -
HBase源码分析之org.apache.hadoop.hbase.coprocessor包
该包下的类主要包括了coprocessor中的Observer和Endpoint, Endpoint在上一个章节已经阐述了,这里主要说一下Obsever。Observer包括MasterObserver,RegionObserver和WALObserver,就类似RDBMS里面的trigger,Observer能够让我们针对Hbase的各种事件(比如put操作、get操作、Region的spl原创 2013-05-15 13:19:59 · 3347 阅读 · 0 评论 -
HBase源码分析之org.apache.hadoop.hbase.executor包
EventHandler:HBase事件处理的基类,在线程池中异步处理ExecutorService:事件处理的线程池服务RegionTransitionData:region transaction时,相关的transation的值存储在zookeeper中的节点上unassigned/regionName。 未完,待续。。。原创 2013-05-15 13:28:57 · 1598 阅读 · 0 评论 -
HBase0.94在flush操作时候的一个漏洞
基于HBase0.94版本,在高并发写操作时,运行时偶尔出现丢失数据的情况,查看了HBase的日志,出现一下信息,WARN org.apache.hadoop.hbase.regionserver.MemStore: Snapshot called again without clearing previous. Doing nothing. Another ongoing flush or di原创 2013-12-16 22:02:43 · 2528 阅读 · 0 评论