我开始学习hbase,我不明白它是如何线性缩放的。hbase是否真的线性缩放?
问题是,在安装hbase之前,你必须有一个hdfs集群。 HDFS集群有一个主节点,它在整个集群中只能有一个,所以它是一个瓶颈。当然,我们可以运行另外1个主节点(可以只运行1个主节点),但它将处于待机状态。 据我所知,hbase使用HDFS集群来存储数据。因此,对我而言,从逻辑上讲,运行多个Hmaster是没有意义的,因为所有请求都会发送到hdfs活动主服务器,如果请求太多,性能会受到影响。
此外,我不明白我们是否需要将hbase安装在与hdfs相同的节点上或单独安装。如果我们与HDFS分开运行hbase,有什么好处。 至于我在逻辑上是在同一节点上安装HBase的簇与HDFS如下面的例子:
HDFS active master - HMaster
HDFS standby master - HMaster backup
HDFS Data node - HRegion server
对我来说是最逻辑结构,因为如果我们从HMASTER分离HDFS主然后概率松动hbase集群将是两倍大。
如果有人能分享有关所有这些东西的信息,我将非常高兴。因为我真的不明白hbase可以线性缩放以及它如何与hdfs协同工作。
您可以联合HDFS,它消除了单个NN问题。请记住,NN仅用于元操作(例如,创建分区/ WAL),如果您正确配置它(只在足够大的WAL,分割和压缩大分区上旋转),hbase没有做太多的工作。 –
我在断开hdfs主服务器的同时,试图从数据节点读取数据,并向我显示错误。据我了解,当我们从数据节点读取/写入某些内容时,他们首先向主节点询问一些信息。如果主节点死了,那么我们就无法使用集群。我可能是错的,但它是我的假设 – Alexandr
是的你是对的,但这并不影响可扩展性,只有容错性。当你使用HA HDFS时,你不会有这个问题。见https://hadoop.apache.org/docs/r2.7.1/hadoop-project-dist/hadoop-hdfs/HDFSHighAvailabilityWithQJM.html –