HBase架构简介

HBase在完全分布式环境下,由Master进程负责管理RegionServers集群的负载均衡以及资源分配,ZooKeeper负责集群元数据的维护并且监控集群的状态以防止单点故障,每个RegionServer会负责具体数据块的读写,HBase所有的数据存储在HDSF系统上。

• 适合场景 (综合考虑)
– 表数据量大(至少亿级别以上)
– 日志append型业务,(比如定期保留10天数据等)
– 原则上:
• 能分库分表来用mysql就用mysql来解决
• mysql 单表一般500w,能使用mysql的场景
– 无跨行跨表事务要求
– 写入量大 (每天千万及以上)
– 读取量相对少 (读取:写入 <= 1/10)
– 读取场景简单、不经常变化
– 无正序、逆序的排序要求
– 类似dw等全量读取,不太合适。
– Rowkey不经常更新 (必须先删除再添加)?

建议

• 海量数据,rowkey范围和分布已知,建议进行预分配
• Rowkey一定要尽量短 (如:时间用时间戳整数表示、编
码压缩)
• CF设计:尽量少,建议CF数量在1-2个
• Rowkey设计:写入要分散;

•  Autoflush参数设置为true;否则极端情况下会丢失数据

•  Hbase client的重试次数为3次以上。否则会由于split导致region not onle;从而导致写入失败

– hbase.rpc.timeout 一次rpc的timeout;默认60秒
– hbase.client.pause 客户端的一次操作失败,到下次重试之间的等待时间
– hbase.client.retries.number 客户端重试的次数
– hbase.regionserver.lease.period 客户端租期超时阀值;scan量大时可以考虑增大;否则”Lease Exception: lease-70000000000000001 does not exist”
• ZK连接/HTable对象的使用注意
– Configure对象的使用
• 必须是static or singleton模式
– 默认:每台机器与zk直接的连接数不超过30个
– HTable的使用
• 线程不安全
• 使用HTableV2
• HTablePool (推荐的方式)

总结

• Hbase作为一个NOSQL存储,作为在线存储的一个重要组成
• 业务设计和选型尤为重要,依特性合理使用
• 容灾是走出Hbase存储使用更广阔的的前提
• 异常处理,先恢复服务,再深入排查

[Hbase]Hbase技术方案的更多相关文章

  1. HBase 数据迁移方案介绍

    一.前言 HBase数据迁移是很常见的操作,目前业界主要的迁移方式主要分为以下几类: 图1.HBase数据迁移方案 从上面图中可看出,目前的方案主要有四类,Hadoop层有一类,HBase层有三类.下 ...

  2. HBase 数据迁移方案介绍 (转载)

    原文地址:https://www.cnblogs.com/ballwql/p/hbase_data_transfer.html 一.前言 HBase数据迁移是很常见的操作,目前业界主要的迁移方式主要分 ...

  3. HBase 数据迁移方案介绍(转载)

    原文链接:https://www.cnblogs.com/ballwql/p/hbase_data_transfer.html 一.前言 HBase数据迁移是很常见的操作,目前业界主要的迁移方式主要分 ...

  4. 4.HBASE数据迁移方案(之snapshot):

    4.HBASE数据迁移方案:  4.1 Import/Export  4.2 distcp  4.3 CopyTable  4.4 snapshot 快照方式迁移(以USER_info:user_lo ...

  5. 网易云信技术分享:IM中的万人群聊技术方案实践总结

    本文来自网易云信团队的技术分享,原创发表于网易云信公众号,原文链接:mp.weixin.qq.com/s/LT2dASI7QVpcOVxDAsMeVg,收录时有改动. 1.引言 在不了解IM技术的人眼 ...

  6. 分布式锁1 Java常用技术方案

    前言:       由于在平时的工作中,线上服务器是分布式多台部署的,经常会面临解决分布式场景下数据一致性的问题,那么就要利用分布式锁来解决这些问题.所以自己结合实际工作中的一些经验和网上看到的一些资 ...

  7. unity小地图技术方案总结

    技术方案 一:从顶视图获取实时小地图(优点实现快容易对地图进行放大缩小操作而且地图,缺点是不好对地图做出修改,只能在顶部加个另外的相机层来遮盖) 1.创建Redertexture并改名为smallma ...

  8. iOS多线程技术方案

    iOS多线程技术方案 目录 一.多线程简介 1.多线程的由来 2.耗时操作的模拟试验 3.进程和线程 4.多线程的概念及原理 5.多线程的优缺点和一个Tip 6.主线程 7.技术方案 二.Pthrea ...

  9. Facebook存储技术方案:找出“暖性BLOB”数据

    Facebook公司已经在其近线存储体系当中彻底弃用RAID与复制机制,转而采用分布式擦除编码以隔离其所谓的“暖性BLOB”. 暖性?BLOB?这都是些什么东西?大家别急,马上为您讲解: BLOB—— ...

  10. 分布式锁1 Java常用技术方案(转)

    转:http://www.cnblogs.com/PurpleDream/p/5559352.html#3450419 前言:       由于在平时的工作中,线上服务器是分布式多台部署的,经常会面临 ...

随机推荐

  1. FLAG_ACTIVITY_CLEAR_TASK | FLAG_ACTIVITY_NEW_TASK

    [FLAG_ACTIVITY_CLEAR_TASK | FLAG_ACTIVITY_NEW_TASK] 1.FLAG_ACTIVITY_NEW_TASK 2.FLAG_ACTIVITY_CLEAR_T ...

  2. centos静态绑定IP地址

    Centos7 /etc/sysconfig/network-scripts/ifcfg-ens33

  3. ssh X协议转发

    X协议的作用是远程登录Linux运行GUI界面 主机2开启ssh服务service ssh start 主机1 ssh连接主机2:ssh -X root@192.168.1.110 -p 53 然后可 ...

  4. python 函数的定义及传参

    函数是一个通用的程序结构部件,是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 定义一个简单的函数: >>> def test(a): #创建一个函数,函数名是test ...

  5. linux按键映射

    .Xmodmap keycode = Mode_switch keysym k = k K Left keysym j = j J Down keysym l = l L Right keysym h ...

  6. pta_l1-6(连续因子)

    题目链接:https://pintia.cn/problem-sets/994805046380707840/problems/994805138600869888 题意:给定n,求n的最长的连续子因 ...

  7. 前端、数据库、Django简单的练习

    一.前端 1.前端页面由哪几层构成,分别是什么,作用是什么? 分为:结构层(html),表示层(css),行为层(js). 结构层 超文本标记语言.由HTML或XHTML之类的标记语言负责创建.标签, ...

  8. java 对一个字符串去重,即去掉字符串内重复元素

    String str ="abc|efa|abc|efa|abc"; String str1 = str.replaceAll("(?s)(.)(?=.*\\1)&quo ...

  9. rear

    rear - 必应词典 美[rɪr]英[rɪə(r)] v.抚养:养育:饲养:培养 n.屁股:后部:臀部 adj.后面的:后部的 网络背面:后方:后轮 变形过去分词:reared:现在分词:reari ...

  10. FortiGate常用命令

    1.命令结构 config      Configure object.    对策略,对象等进行配置 get   Get dynamic and system information. 查看相关关对 ...