使用phoenix踩的坑与设计思考
云栖号资讯:【点击查看更多行业资讯】在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! 本文主要介绍在压测HBase的二级索引phoenix时踩的一个坑,使用时需要特别注意,而且背后的原因也很有意思,可以看出HBase和Phoenix对元数据设计上的差异。 1.问题介绍 在做phoenix压测时发现一个奇怪的现象。 压测请求分布非常均匀,但是有一台机器的流量、负载都明显高于其他机器。 如下图所示。 请求均匀 资源利用率不均匀,单个节点明显偏高。 2.排查思路 看到这个问题的第一反应,是去看下表分布是否均匀。 hbase表分布是否均匀 索引表分布是否均匀 令人遗憾的是,确认后hbase表和索引表都是均匀分布的,各个机器上的region数量、存储用量都是一致,非常均匀。 然后在网上查相关资料,在官网上看到这样一段描述。 大致的意思是,phoenix的表设计时有一个表级别参数UPDATE_CACHE_FREQUENCY,这个参数默认是ALWAYS,表示每次sql查询都会先去请求meta数据。也可以设置为一定频率,表示多久去请求一次meta数据。 那我们大概能猜想到了,因为设计表的...