HBase on AWS EMR 检索数据缓慢

问题描述

我正在运行一个安装了 HBase 的 AWS EMR 集群,我遵循 these instructions 使用 s3 作为 Hbase 数据存储来设置集群。集群已启动并正在运行,我可以通过 ssh 进入并使用 hbase shell,没有任何问题。

我们尝试存储的数据是基因组数据,而且非常广泛。对于每个行键,最多可以有 250,000 个列键。我们尝试了不同数量的列族,从将 1 个列族中的所有键分组到使用 42 个不同的列族,其中列键分布在它们之间。

为了与 Hbase 交互,我们在 python 中使用 happybase,它使用 thrift 与主节点通信。检索单个行键时,返回结果大约需要 2.7 秒。我期望此类操作的数据检索时间为 ms。取回时。我们的配置非常简单,没有做额外的优化。我们正在尝试确定 Hbase 是否是满足我们数据库需求的正确应用程序,但鉴于数据检索时间缓慢,我们正在远离它。

enter image description here

enter image description here

我知道其他大型行业参与者使用 HBase 来满足他们的需求,我想知道是否有人知道我们可以尝试哪些方法来优化性能?虽然这些时间并不可怕,但应用程序最终将需要放置数千个行键并为所有列检索数千个行键。鉴于我们目前看到的扩展,它无法满足我们的需求。

我对 HBase 等分布式 Nosql 技术的经验很少,因此我们不胜感激任何建议或帮助。

集群设置:

1 Master node,3 Core nodes
m4.large instances

我们尝试过的事情:

  1. 调整列族数量
  2. 使用 HDFS 而不是 s3 作为数据存储区

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)