秒插入   并且蛋疼的是相当于人为制造的网络风暴。
  1. package com.rocky.util;
  2. import com.rocky.dao.HBaseFactory;
  3. import org.apache.hadoop.conf.Configuration;
  4. import org.apache.hadoop.hbase.*;
  5. import org.apache.hadoop.hbase.client.*;
  6. import org.apache.hadoop.hbase.util.Bytes;
  7. import java.io.IOException;
  8. import java.util.ArrayList;
  9. import java.util.List;
  10. import java.util.Random;
  11. import java.util.UUID;
  12. /**
  13. * Created by rocky_24 on 2016/2/25.
  14. */
  15. public class putData {
  16. public static void main(String[] args) throws IOException {
  17. // /**
  18. // * 分16
  19. // */
  20. // byte[][] preforkRegions = new byte[10+6][];
  21. // int k=0;
  22. // System.out.println(preforkRegions.length);
  23. // for(char i='0';i<='9';i++){
  24. // preforkRegions[k++]=(""+i).getBytes();
  25. // }
  26. // for(char i='a';i<='f';i++){
  27. // preforkRegions[k++]=(""+i).getBytes();
  28. // }
  29. byte[][] preforkRegions = new byte[3][];
  30. preforkRegions [0] = ("5").getBytes();
  31. preforkRegions [1] = ("10").getBytes();
  32. preforkRegions [2] = ("z").getBytes();
  33. createTable("access_logs","f",preforkRegions);
  34. System.out.println(TimeUtils.getIntradayDateAndTime());
  35. String [] pages = {"/","/a.html","/b.html","/c.html"};
  36. Configuration con = HBaseFactory.getConf();
  37. HTable table = new HTable(con,"access_logs");
  38. // Table table = HBaseFactory.getHBaseConnection().getTable(TableName.valueOf("access_logs"));
  39. table.setWriteBufferSize(1024 * 1024 * 6);
  40. table.setAutoFlushTo(false);
  41. int totalRecords = 10000;
  42. Random rand = new Random();
  43. System.out.println("importing " + totalRecords + " records ....");
  44. List<Put> list = new ArrayList<Put>();
  45. for (int i=0; i < totalRecords * 100; i++) {
  46. String rowkey = UUID.randomUUID().toString();
  47. String randomPage = pages[rand.nextInt(pages.length)];
  48. Put put = new Put(rowkey.getBytes());
  49. put.addColumn(Bytes.toBytes("f"), null, Bytes.toBytes(randomPage));
  50. list.add(put);
  51. }
  52. System.out.println("put数据装载完毕:"+list.size());
  53. System.out.println(TimeUtils.getIntradayDateAndTime());
  54. table.put(list);
  55. table.flushCommits();
  56. table.close();
  57. System.out.println("done");
  58. System.out.println(TimeUtils.getIntradayDateAndTime());
  59. }
  60. /**
  61. * 创建表
  62. * @param tableName
  63. * @param columnFamily
  64. * @param spilts
  65. * @throws IOException
  66. */
  67. public static void createTable(String tableName, String columnFamily, byte[][] spilts) throws IOException {
  68. Connection connection = HBaseFactory.getHBaseConnection();
  69. Admin admin = connection.getAdmin();
  70. if (admin.tableExists(TableName.valueOf(tableName))) {
  71. admin.disableTable(TableName.valueOf(tableName));
  72. admin.deleteTable(TableName.valueOf(tableName));
  73. }
  74. HTableDescriptor tableDesc = new HTableDescriptor(TableName.valueOf(tableName));
  75. tableDesc.addFamily(new HColumnDescriptor(columnFamily));
  76. if (spilts == null) {
  77. admin.createTable(tableDesc);
  78. } else {
  79. admin.createTable(tableDesc, spilts);
  80. }
  81. admin.close();
  82. }
  83. }
观察 16010端口 查看 Region 分裂情况如下:
   = =! 多分了一个 Region 因为HBase 在分裂创建时候是拿到
asscii 码的 0 到 数字[10]
来自为知笔记(Wiz)

转载于:https://www.cnblogs.com/rocky24/p/7aaebae69fcabb134be725d57378d581.html

HBase 1.1.2 优化插入 Region预分配相关推荐

  1. HBase 数据库检索性能优化策略--转

    https://www.ibm.com/developerworks/cn/java/j-lo-HBase/index.html HBase 数据表介绍 HBase 数据库是一个基于分布式的.面向列的 ...

  2. HBase 数据库检索性能优化策略

    HBase 数据库是一个基于分布式的.面向列的.主要用于非结构化数据存储用途的开源数据库.其设计思路来源于 Google 的非开源数据库"BigTable". HDFS 为 HBa ...

  3. 支付宝代志远:HBase系统故障恢复的优化实践分享

    转自:http://news.csdn.net/a/20120523/2805879.html [CSDN现场报道]第四届中国云计算大会将于2012年5月23-25日在北京国家会议中心隆重举行.本次大 ...

  4. 最通俗易懂的解释hbase热点问题rowkey设计原则region分区及解决方案

    关于热点问题,我简单陈述容易理解: 我们最开始hbase创建表默认是一个region,而我们所谓的热点问题其实就是对某一个region的过量访问造成的 Hbase当发现一个region存储数据量大于阈 ...

  5. pinpoint的Hbase数据库的数据优化

    pinpoint的Hbase数据库的数据优化 写的原因: 因为是测试服务器,在运行测试项目时,需要日志的打印输出,由于发现磁盘空间不足,想删除些东西,释放空间,然后发现pinpoint服务的Hbase ...

  6. Hbase预分区与优化

    Hbase支持两种读读操作,Scan & Get两种,Get在hbase的内部也是会转换成startRow == endRow的操作,所以本文就只介绍Get操作. Scan的实际执行者是Reg ...

  7. Java客户端访问HBase集群解决方案(优化)

    测试环境:Idea+Windows10 准备工作: <1>.打开本地 C:\Windows\System32\drivers\etc(系统默认)下名为hosts的系统文件,如果提示当前用户 ...

  8. java hbase 查询优化_HBase的优化

    比如: 原 本 rowKey 为1001的 , SHA1 后 变 成 : dd01903921ea24941c26a48f2cec24e0bb0e8cc7 原 本 rowKey 为3001的 , SH ...

  9. hbase参数配置及优化

    为什么80%的码农都做不了架构师?>>>    接触hbase已有半年的时间,查了很多资料,也参考了很多别人心得,也希望把自己的心得以及理解写出来,我把配置hbase必调的几个参数写 ...

最新文章

  1. 判断出栈顺序是否正确(栈的压入、弹出序列)
  2. C语言 | 基于STM32的IIC代码实现(源代码)
  3. 关于类黄酮和类胡萝卜素
  4. 面试官系统精讲Java源码及大厂真题 - 48 一起看过的 Java 源码和面试真题
  5. git merge用法_Git 基本命令 merge 和 rebase,你真的了解吗?
  6. mysql安装后变10g_Oracle 10G安装中一些常见问题解决
  7. 图解TCPIP-传输层 UDP报文格式
  8. python mysql 写入_python如何写进MYSQL
  9. 如果一栋楼起火谁赔偿_电动车起火,楼上25人被困,万宁一居民楼发生惊险一幕...
  10. 同一个ip服务器comcat下部署第二个项目怎么设置,用nginx在同一服务器端口下部署多个项目,第二个项目打开后页面空白?...
  11. Atitit jpql ast总结v2 t025.docx 目录 1.1. 多select字段 1 1.2. 多个and条件 (ok) 2 1.3. Select 字段函数(聚合等) 2 1.4. [
  12. 如何批量压缩图片体积大小kb?
  13. 2019微商城系统源码 可封装成app
  14. 前端web要学mysql吗_学前端必须学习HTML和js吗?
  15. discuz X程序目录和文件列表 详细中文说明
  16. 『Java课设』JavaSwing+MySQL实现医院智慧点餐系统
  17. dsolve 的 用法
  18. 视频广告场景识别方案总结
  19. 264Echarts - GL 路径图(Use linesGL to draw 1 million ny streets.)
  20. 通信基础笔记 ----奈奎斯特和香农定理

热门文章

  1. 遭遇“HTTP 错误 500.19 无法访问请求的页面,因为该页的相关配置数据无效。”...
  2. js学习笔记——在html中嵌入脚本
  3. C#实现文本文件合并
  4. 初次安装Magento商城 后台报错的解决方案
  5. 一个简单的Dockerfile
  6. leetcode算法题--一周中的第几天
  7. snort3安装教程
  8. OVS openflow(二十四)
  9. leetcode算法题--二叉树中的最长交错路径★
  10. c语言 unlink,unlink 漏洞笔记