阅读(119) (0)

HBase特殊情况

2018-03-29 13:30:48 更新

HBase特殊情况

对于快速失败优于等待的应用程序

  • 在客户端的 hbase-site.xml 中,设置以下参数:
    • 设置 hbase.client.pause = 1000
    • 设置 hbase.client.retries.number = 3
    • 如果你想跨越分裂和区域移动,大幅增加 hbase.client.retries.number(> = 20)
    • 设置 RecoverableZookeeper 重试计数: zookeeper.recovery.retry = 1(不重试)
  • 在 hbase-site.xml 服务器端,设置 Zookeeper 会话超时以检测服务器故障:zookeeper.session.timeout⇐30秒(建议 20-30)。

对于可以容忍略有过时的信息的应用程序

HBase 时间线一致性(HBASE-10070) 启用了只读副本后,区域(副本)的只读副本将分布在群集中。一个 RegionServer 为默认或主副本提供服务,这是唯一可以服务写入的副本。其他 Region Server 服务于辅助副本,请遵循主要 RegionServer,并仅查看提交的更新。辅助副本是只读的,但可以在主服务器故障时立即提供读取操作,从而将读取可用性的时间间隔从几秒钟减少到几毫秒。Phoenix 支持时间线一致性为 4.4.0 的提示:

  • 部署 HBase 1.0.0 或更高版本。
  • 在服务器端启用时间线一致性副本。
  • 使用以下方法之一设置时间线一致性:
    • 使用 ALTER SESSION SET CONSISTENCY = 'TIMELINE’
    • 在JDBC连接字符串中设置连接属性 Consistency 为 timeline