HregionServer 启动部分讲解
来源:互联网 发布:sqlserver 维护计划 编辑:程序博客网 时间:2024/06/03 17:35
记录JVMINFO
RuntimeMXBean runtime = ManagementFactory.getRuntimeMXBean(); if (runtime != null) { LOG.info("vmName=" + runtime.getVmName() + ", vmVendor=" + runtime.getVmVendor() + ", vmVersion=" + runtime.getVmVersion()); LOG.info("vmInputArguments=" + runtime.getInputArguments()); }
根据 conf 创建HregionServer构造函数:
做一些类似rpcServer、还有配置文件中一些相关配置的初始化
执行完构造函数执行run方法:
注册到Hmaster之前做一些初始化操作
1、初始化zk即一些tracker
2、初始化一些线程、这是最重要的着重讲一下这些
2-1、初始化MemStoreFlusher
threadWakeFrequency = hbase.server.thread.wakefrequency
初始globalMemStorLimit ,hbase.regionserver.global.memstore.upperLimit * jvmheapMax ,同样获取最小值
blockingWaitTime = hbase.hstore.blockingWaitTime
2-2、初始化compactSplitThread
regionSplitLimit = hbase.regionserver.regionSplitLimit
largethread = hbase.regionserver.thread.compaction.large
smallthread = hbase.regionserver.thread.compaction.small
splitThreads = hbase.regionserver.thread.split
largeCompactions 是根据上面 largethread 创建的线程池 并设置rejected的执行,setRejectedExecutionHandler就是交给一个handler去处理线程池不执行的任务。
this.largeCompactions .setRejectedExecutionHandler(new CompactionRequest.Rejection());smallCompactions、splits 同理
2-3、compactionChecker 主要检查是否需要compaction,循环时间为,hbase.server.thread.wakefrequency * hbase.server.thread.wakefrequency.multiplier
2-4、periodicFlusher 定期 hbase.server.thread.wakefrequency执行Flusher,可以通过设置hbase.regionserver.optionalcacheflushinterval 为0 来禁用
2-5、初始化 lease
3、设置reservespace 预留空间 后续补充(TODO)
-----------------------------------跳到最主要的部分、自动线程startServiceThreads----------------
首先会启动RS上的 ExcuteService(参考前面事件处理那篇文章)
接下来启动线程:
hlogRoller
cacheFlusher
compactionChecker
periodicFlusher
healthCheckChore
leases
如果开启replication 执行replicationXXXXHandler
rpcServer
splitLogWorker
接下来讲每个线程是干什么的
------改天继续-----
- HregionServer 启动部分讲解
- HRegionServer 启动分析
- HRegionServer启动失败
- HBase没有启动HRegionServer
- hbase集群部分节点HRegionServer启动后自动关闭的问题
- HBase启动后HRegionServer未启动
- Hbase启动时无法启动HRegionServer进程
- HRegionServer启动和停止过程分析
- Hbase HRegionServer启动后自动关闭
- HMaster和HRegionServer启动后突然消失
- HRegionServer进程启动失败,HMaster正常
- hbase启动后,HRegionServer进程不存在解决方法
- 启动Hbase,HMaster进程可以启动,但是HRegionServer启动不成功
- 启动hbase时,hregionserver没有启动的原因
- HRegionServer 启动不了,但是HMaster能够启动成功。
- 开启 hbase 时,slave 上的 HRegionServer 没有启动
- HBase-1.2.1之HRegionServer启动源码学习
- HBase 集群服务器时间不同步导致HRegionServer无法启动
- 从今天起开始写微博,努力提高自己啦
- omitNorms for field in solr schema
- 自定义控件
- linux 的date命令及系统时间设置
- Windows HPC Server 2008 R2 下载
- HregionServer 启动部分讲解
- Mysql总结
- 使用Cache还是跳过Cache
- unity3d——3.5升级4.3打包资源的使用
- 配置Eclipse支持JDK8
- 矩形类的构造函数
- uva 11368 - Nested Dolls(sort+greedy+binary_search)
- plsql客户端查数据时候会中文是乱码,解决办法
- STM32F4时钟设置分析