首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Hbase源码系列之源码前奏hbase:meta表相关详细介绍

一,基本功能介绍 -root-表在HBase 0.9.6以后的版本被移除了。...Hbase 0.9.6以后,移除了-root-表,用hbase:meta表代替了.meta表,hbase:meta表存的位置直接存储于Zookeeper上。...info:server:存储hbase:meta表的regionserver的server:port info:serverstartcode:该Regionserver拥用hbase:meta表的起始时间...Hbase:meta所在的regionserver宕机后会重新分配给其它的regionserver。每次修改都会更新RS的wal的。 2,hbase:meta和用户region信息不一致怎么处理。...A),hbase提供的有修复指令。 B),可以根据源码去实现自己的修补指令。 元数据和用户实际的表信息不一致是很常见的现象,所以这两点后面会详细介绍。

2.9K100
您找到你想要的搜索结果了吗?
是的
没有找到

Hbase 写入 hdfs 源码分析

作者:熊训德 腾讯云工程师 本文档从源码角度分析了,hbase 作为 dfs client 写入hdfs 的 hadoop sequence 文件最终刷盘落地的过程。...之前在《wal线程模型源码分析》中描述wal的写过程时说过会写入hadoop sequence文件,hbase为了保证数据的安全性,一般都是写入同为hadoop生态的hdfs(Hadoop Distribute...下图是《Hbase权威指南》中描述Hbase底层存储结构的顶层结构图。...wal包中是作为wal向datanode的writer,它在FSHLog是使用工厂模式createWriterInstance()实例化,然后调用init()方法初始化: 从源码中可以看到真正写实例是...相关推荐 Hbase WAL线程模型源码分析 HBase跨版本数据迁移总结 Hbase的WAL在RegionServer基本调用过程

4.3K00

Hbase WAL 线程模型源码分析

作者介绍:熊训德 腾讯云工程师 Hbase 的 WAL 机制是保证 hbase 使用 lsm 树存储模型把随机写转化成顺序写,并从内存 read 数据,从而提高大规模读写效率的关键一环。...源码分析 下面将从源码角度分析其中具体实现过程和细节。...Disruptor通过 java.util.concurrent.ExecutorService 提供的线程来触发 Consumer 的事件处理,可以看到hbase的wal中只启了一个线程,从源码注释中也可以看到...小结 Hbase的WAL机制是保证hbase使用lsm树存储模型把随机写转化成顺序写,并从内存read数据,从而提高大规模读写效率的关键一环。...wal的多生产者单消费者的线程模型让wal的写入变得安全而高效,本文档从源码入手分析了其线程模型为以后更好开发和研究hbase其他相关知识奠定基础。

8.1K1413

Hbase Memstore 读写及 flush 源码分析

导语 本文档主要从源码的角度分析了,hbase的写缓存的读写以及flush过程。...hbase的mvcc机制将结合行锁在后面的hbase效率的源码分析中具体分析。可先参考: http://m.blog.csdn.net/article/details?...读的角度 hbase的读需要从要读三个位置,blockcache、memstore和hfile着手。...稍微需要注意的是,在flush的时候有可能会失败,这时候意味着memstore未被持久化,则wal需要去重做,会启动一个单独且唯一的线程去做这个,从源码注释上看,当前只有regionserver重启会发生这种事情...至此,memstore的读写已经刷入源码分析就结束了,可以看到memstore作为hbase写缓存为了实现快速顺序写做出的设计努力。下一篇文档将分析哪些情况下memstore会被刷写。

3.1K10

hbase源码系列(七)Snapshot的过程

它就想是给数据库做备份,尤其是做删除动作之前,不管是hbase还是hdfs,请经常做Snapshot,否则哪天手贱了。。。   直接进入主题吧,上代码。...这个方法里面也没干啥,就是检查一下是否可以对这个表做备份或者恢复的操作,然后就会重建这个工作目录,这个工作目录在.hbase-snapshot/.tmps下面,每个snapshot都有自己的目录。   ...MemStore当中保存的是KeyValue的集合,写入其实就是一个循环,调用StoreFile.Writer的append方法追加,具体的可以看我的那篇博客《非mapreduce生成Hfile,然后导入hbase...IOException("Failed to create reference file:" + referenceFile); } } } }   在工作目录在.hbase-snapshot...这个要到下一章,从snapshot中恢复,才能弄明白了,这个和hbase的归档文件机制有关系,hbase删除文件的时候,不是直接删除,而是把它先放入archive文件夹内。

1.5K70

Hbase1.3 生产优化,源码分析

问题分析 思路:分离读写scan请求,各种处理各自的 源码内部 WriteQueues; Queues; ScanQueues; 优化参数 hbase.regionserver.handler.count...线上:0.2 hbase.ipc.server.callqueue.read.ratio : 默认为0,服务器端设置读写业务分别占用的队列百分比以及handler百分比。...线上:0.6 hbase.ipc.server.call.queue.scan.ratio:默认为0,服务器端为了将get和scan隔离设置了该参数。...线上:0.1 hbase.ipc.server.call.queue.scan.ratio 默认0 scan请求直接打入read队列长时间不释放,导致正常read超时告警 源码理解 HRegionServer...x 0.1(hbase.ipc.server.callqueue.handler.factor) = 10,读写请求队列总个数 写队列个数 10 x 0.5hbase.ipc.server.callqueue.read.ratio

32620

hbase源码系列(一)Balancer 负载均衡

源码很久了,终于开始动手写博客了,为什么是先写负载均衡呢,因为一个室友入职新公司了,然后他们遇到这方面的问题,某些机器的硬盘使用明显比别的机器要多,每次用hadoop做完负载均衡,很快又变回来了。...hbase.master.balancer.stochastic.moveCost,默认值是100 localityCost hbase.master.balancer.stochastic.localityCost...hbase.master.balancer.stochastic.readRequestCost,默认值是5 WriteRequestCostFunction hbase.master.balancer.stochastic.writeRequestCost...hbase.master.balancer.stochastic.storefileSizeCost,默认值是5 Storefile的默认值是5,那么低。。。...根据虚拟的集群状态生成RegionPlan,这里就不说了 List plans = createRegionPlans(cluster);   源码的分析完毕,要想减少存储内容分布不均匀

1.4K101

Hbase compaction 源码分析二:详细 compaction 过程

因为major compact很影响hbase的读写性能,所以在不同版本是否major compact其实社区一直都在寻求优化,可根据需要选择不同的实现类RatioBasedCompactionPolicy...有关不同Policy的算法性能影响及适合场景可参考文章: http://hbasefly.com/2016/07/25/hbase-compaction-2/ hbase1.1.3版本使用的实现类是RatioBasedCompactionPolicy...requestCompaction方法,但这两个方法都会调用CompactSplitThread的requestCompactionInternal方法: 这个是requestCompactionInternal方法原型: 从源码中可以看到...的读写性能均有一定影响,有关对性能影响以及相关调优可参考: http://hbasefly.com/2016/07/13/hbase-compaction-1/ http://hbasefly.com/...2016/07/25/hbase-compaction-2/

1.9K20

hbase源码系列(六)HMaster启动过程

这一章是server端开始的第一章,有兴趣的朋友先去看一下hbase的架构图,我专门从网上弄下来的。   按照HMaster的run方法的注释,我们可以了解到它的启动过程会去做以下的动作。...IOException { //该参数默认为false if (this.distributedLogReplay) { // In log replay mode, we mark hbase...currentMetaServer, regions); } else { // In recovered.edits mode: create recovered edits file for hbase...文件恢复是通过hbase.master.distributed.log.replay参数来设置,默认是false,走的recovered.edit模式。...经过分配过的region,hmaster在启动的时候默认会沿用上一次的结果,就不再变动了,这个是由一个参数来维护的hbase.master.startup.retainassign,默认是true。

2.2K90

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券