实验:研究hbase自动均衡对接口读写的影响

实验:研究hbase自动均衡对接口读写的影响

(8月9号有做1个实验,数据量是1300G,自动均衡600个region,耗时300秒,均衡过程中接口未报错)

测试目的:研究region自动均衡对接口读写的影响

测试步骤如下

1. 

测试集群环境关闭以下Region Servers

hbase-slave-003,

hbase-slave-004,

hbase-slave-005

2.

161集群环境开启以下Region Servers,使得集群仅有2个Region Servers

hbase-slave-001

hbase-slave-002

同时新建phoenix的会员表和对应的索引表

3.

开始推送数据进入测试集群,数据量大于200G时停止

4.

数据推送停止后

本地电脑开启5个线程进行Phoenix读操作。具体的读操作命令可参考

SELECT * FROM MEMBER where MEMBER_ID > ? limit  100

5.

数据推送停止后

本地电脑另外开启5个线程进行写操作。具体的写操作命令可参考

upsert INTO

MEMBER (MEMBER_ID,MEMBER_NO,MEMBER_NAME)

VALUES

(UUID,UUID,UUID)

6. 20:00开始运行,运行15分钟后,未发现程序运行异常,数据读取和写入均正常,并且集群每秒接收请求600个左右,查看hbase日志也无明显异常

7.

20:23:00

测试集群环境几乎同时开启以下Region Servers

hbase-slave-003,

hbase-slave-004,

hbase-slave-005

8.

20:25:37日志中发现集群开始进行负载均衡

20:26:14 日志中发现负载均衡已停止,无rit,页面显示已均衡所有region

9.

2021-07-21 20:25:51 开始发现程序报错,

2021-07-21 20:26:11 后程序结束报错

错误为

 Write to the index failed.  disableIndexOnFailure=true, Failed to write to multiple index tables: [IDX_GY_MEMBER_INFO_MOBILE_PHONE]

上述错误出现约16次

 

10. 由于写有校验代码,如果操作数据库的结果不符合预期,则会打印日志

经过排查,所有线程读写正常,报错是第三方jar包线程池报错,外部业务线程是无感知的

11. 后续程序又继续运行了25分钟,无报错,写入线程5个和读取线程5个都正常  

结论:均衡过程中存在报错,均衡后无报错,并且报错对外部业务线程无感知,线程读写数据正常

推测:phoenix有重试机制,默认16次,在这个次数内失败可以重试

注:以上实验是在均衡节流为0.1的情况下测试的

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值