hbase真的可以线性扩展吗?

z0qdvdin  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(458)

我开始学习hbase,但我不明白它是如何线性扩展的。
问题是,在安装hbase之前,必须有一个hdfs集群。hdfs集群有一个主节点,主节点只能是整个集群中的一个节点,这是一个瓶颈。当然,我们可以再运行一个主节点(也可以只运行一个主节点),但它将处于待机状态。据我所知,hbase使用hdfs集群来存储数据。所以,对我来说,逻辑上来说,运行多个hmaster是没有意义的,因为所有的请求都会转到hdfs活动主机,如果我们有太多的请求,那么性能会受到影响。
另外,我也不明白我们是否需要安装hbase在同一个节点与hdfs或单独。如果我们将hbase与hdfs分开运行,有什么好处。对于我来说,在逻辑上应该使用hdfs在相同的节点上安装hbase cluster,如下例所示:

HDFS active master - HMaster
HDFS standby master - HMaster backup
HDFS Data node - HRegion server

对我来说,这是最符合逻辑的结构,因为如果我们将hdfs master和hmaster分开,那么丢失hbase集群的概率将是原来的两倍。
如果有人能分享所有这些东西的信息,我会非常高兴的。因为我真的不明白hbase是如何线性扩展的,它是如何与hdfs一起工作的。

baubqpgj

baubqpgj1#

首先,如果需要,可以在任何受支持的文件系统上安装hbase。在hdfs上使用它并不是强制性的,但是在hdfs上使用它会给它带来好处,比如故障重读、数据复制、校验和等。这就是为什么建议在hdfs上使用hbase
此外,hdfs中namenode虽然存在瓶颈,但并不影响hbase的效率,因为并不是每个操作的内部工作都依赖于hdfs的namenode,例如区域服务器提供读写数据。访问数据时,客户机直接与hbase区域服务器通信,而区域分配、ddl(创建、删除表)操作由hbase主进程处理。这意味着数据的读写独立于表的创建和删除。
你可以参考https://www.mapr.com/blog/in-depth-look-hbase-architecture 有关hdfs的更多详细信息。
另请参见lars george关于hbase的网络研讨会。https://m.youtube.com/watch?v=_hloh_pgrlk
希望这能消除你的疑虑。

相关问题