一、 性能测试
1 PerformanceEvaluation
$HBASE_HOME/bin/hbase org.apache.hadoop.hbase.PerformanceEvaluation
2 YCSB
[YCSB] http://github.com/brianfrankcooper/YCSB/
二、 部署
MapReduce作业与实时工作负载独立部署,如果同时调低任务数,使用更多硬盘,分散负载,缓减I/O争用
Hbase Master和Zookeeper并行部署,zokeeper配置专用的硬盘来写数据
NameNode 8核CPU、16G内存
Hbase Master 4核CPU、8-16G内存 两块SATA硬盘(一块操作系统,一块Hbase Master日志)
RegionServer 分配10-15G堆内存时表现良好 datanode,regionserver配置8-12核cpu,24-32G内存
节点退役 graceful_stop.sh
增加节点 echo "balancer" || hbase shell
修改配置 Hbase shell update_config update_all_config
三、 数据导入
- API Put方法
- bulkload
- MapReducer
[《HBase Administration Cookbook》](http://www.csdn.net/article/2014-01-07/2818046)
四、 优化
- BLocksize设置
- COMPRESSION属性和DATA_BLOCK_ENCODING属性的区别
prefix_tree压缩算法
设计原则:
- 在任何场景下开启prefix_tree编码都是安全的
- 在任何场景下都不要同时开启snappy压缩和prefix_tree编码
- 通常情况下snappy压缩并不能比prefix_tree编码获得更好的优化结果,如果需要使用snappy需要针对业务数据进行实际测试