HBase使用总结(二)

HBase使用总结(二)

2.Hbase实践经验

2.1 合理设计rowKey & Pre-Sharding

  • 避免仅操作集群中的少数几台机器;
  • 根据数据量、region server数合理pre-sharding。

2.2 容量影响因素

  • 开启压缩
  • lzo
1
create table 't1',{NAME => 'cf1', COMPRESSION => 'lzo'}

2.3 写速度关键因素

  • Table region分布均衡;
  • 单台region server的region数;
  • hbase.regionserver.handler.count
  • hbase.regionserver.global.memstore.upperLimit
  • hbase.hregion.memstore.block.multiplier
  • hbase.hstore.blockingStoreFiles
  • hbase.hregion.max.filesize

2.4 读速度关键因素

  • 单台Region Server上的Region数;
  • StoreFile数;
  • bloomfilter;
  • in-memory flag;
  • blockcache设置;
  • hfile.block.cache.size;

2.5 二级索引

  • 合理使用三维有序
  • 冗余
  • 离线

3、知识点

  • hadoop,hbase,需要在各自的集群中每个节点都安装,zookeeper根据需要安装,一般奇数个,数量越多,选举负担重,但数量越少,系统稳定性下降,使用时跟据实际情况选择方案,hive,oozie,sqoop只需要在需要执行客户端程序的机器上安装,只要能连上hadoop。

  • zk的连接数要改的大一点,默认是30个,并且尽量与hadoop node节点分开,因为hadoop的暂时负担过重等异常会严重影响zk与hbase的正常工作,比如导致zk长时间选举不出leader,hbase 各节点会相继挂掉。