博文

目前显示的是 六月, 2018的博文

MemStore 调优

图片
HBase会在如下几种情况下触发flush操作,需要注意的是MemStore的最小flush单元是HRegion而不是单个MemStore。可想而知,如果一个HRegion中Memstore过多,每次flush的开销必然会很大,因此建议在进行表设计的时候尽量减少ColumnFamily的个数以及长度。触发时机有下面几种情况 checkResource Memstore级别限制 MemStoreFlusher周期性检查 max logs限制 手动flush Region合并 Region分裂 Bulk HFile 做Table的快照 checkResource 源码跟踪流程Put -> checkResource -> HReion::flushcache -> internalFlushcache -> internalFlushCacheAndCommit checkResource是在客户端Put、Delete、Update操作时,执行checkResource操作做如下检查 1)Meta Region(HBase系统表,hbase:acl,hbase:meta,hbase:namespace),不做资源约束或者阻塞更新操作。 2)如果Region当前内存大小memstoreSize超过阈值blockingMemStoreSize(hbase.hregion.memstore.block.multiplier * hbase.hregion.memstore.flush.size)则更新阻塞请求计数器,发起刷新MemStore请求,并抛出RegionTooBusyException异常,阻塞数据更新操作。 3)触发flush 核心代码如下。 a. checkResource private void checkResources() throws RegionTooBusyException { // If catalog region, do not impose resource constraints or block updates. if (this.getRegionInfo().isMetaRegion()) return; if (this.memstoreSize.g...

Kerberos in windows

Kerberos in windows Kerberos安装 下载kerberos客户端, 戳这儿 首先配置kerberos环境变量 a. 下载kerberos服务的krb5.conf并重命名为krb5.ini,设置如下环境变量 KRB5CCNAME=C:tempkrb5cache KRB5_CONFIG=C:tempkrb5.ini b. 拷贝krb5.ini到C:window目录 Program FilesMITKerberoskrb5.ini 安装kerberos并重启电脑 在KDC生成keytab放在C:tempkrb5cache目录,cd到heimdal bin目录执行kinit命令获取TGT klist验证是否成功 注意window防火墙需要关闭, aes256-cts验证方式需要安装额外的jar包,更多参考2.2.9关于AES-256加密:。推荐不使用 如果发现打印信息不对,那么可以是使用系统的的klist命令,切换到heimdal客户端bin目录执行klist命令即可。有关kerberos更详细的操作可以 瞅这儿 参考 [1] https://www.secure-endpoints.com/heimdal/ [2] http://tongchenxi.blogspot.hk/2017/06/kerberos.html

Windows环境下玩转kerberos

Kerberos in windows Kerberos安装 下载kerberos客户端, 戳这儿 首先配置kerberos环境变量 a. 下载kerberos服务的krb5.conf并重命名为krb5.ini,设置如下环境变量 KRB5CCNAME=C:tempkrb5cache KRB5_CONFIG=C:tempkrb5.ini b. 拷贝krb5.ini到C:window目录 Program FilesMITKerberoskrb5.ini 安装kerberos并重启电脑 在KDC生成keytab放在C:tempkrb5cache目录,cd到heimdal bin目录执行kinit命令获取TGT klist验证是否成功 注意window防火墙需要关闭, aes256-cts验证方式需要安装额外的jar包,更多参考2.2.9关于AES-256加密:。推荐不使用 如果发现打印信息不对,那么可以是使用系统的的klist命令,切换到heimdal客户端bin目录执行klist命令即可。有关kerberos更详细的操作可以 瞅这儿 参考 [1] https://www.secure-endpoints.com/heimdal/ [2] http://tongchenxi.blogspot.hk/2017/06/kerberos.html