我是Azure和HBase的新手。 假设我在亚洲安装了2个HDInsight(HBase)集群,在欧洲安装了1个集群,以便为来自不同国家/地区的用户提供更好的读/写性能。 但如何对这些集群的所有数据运行查询?我是否需要在所有群集上单独运行查询然后合并结果?或者有一些内置函数,如SQLserver的分布式查询
答案 0 :(得分:1)
HBase中没有跨群集的分布式查询。在您的方案中,最佳解决方案可能是在两个hbase集群之间设置复制,然后查询其中一个。由于复制是异步的,因此两个集群中的数据将完成,其他集群中的数据几分钟就会过时。您还可以设置更复杂的复制类型,并拥有一个单独的中央群集,该群集具有数据超集,而另外两个群集具有其本地子集。
HDInsight团队正在研究Azure中的复制设置文档。现在您需要自己发现配置。您需要在VNet中配置群集,连接VNets,确保正确设置名称解析,然后使用hbase复制设置步骤自行设置复制:http://hbase.apache.org/book.html#_cluster_replication
如果没有复制解决方案,您需要单独查询两个群集。