今天看Hbase分区的文章看到这样一句话:
HBase通过将region切分在许多机器上实现分布式。也就是说,你如果有16GB的数据,只分了2个region, 你却有20台机器,有18台就浪费了。
然后产生疑惑:
Hbase是用HDFS来存储数据的,HDFS是分布式的(将数据放到不同机器上),既然这样的话,为啥文章中说会浪费?
这就好比是:
分布式*分布式
分布式* 非分布式
前面试HDFS造成的分布,后面是Hbase造成的分布
今天看Hbase分区的文章看到这样一句话:
HBase通过将region切分在许多机器上实现分布式。也就是说,你如果有16GB的数据,只分了2个region, 你却有20台机器,有18台就浪费了。
然后产生疑惑:
Hbase是用HDFS来存储数据的,HDFS是分布式的(将数据放到不同机器上),既然这样的话,为啥文章中说会浪费?
这就好比是:
分布式*分布式
分布式* 非分布式
前面试HDFS造成的分布,后面是Hbase造成的分布
看到浏览245 ,看来有很多人有我一样的疑惑,即是Hbase的region存入hdfs底层到底是如何实现的? 以我所知,
hdfs写入数据并不能指定由哪台datenode来存贮,一切皆由namenode来分配,你只能指定逻辑文件夹路径。
而Hbase明确说明 每个region放入一台 region server,那么问题来了,到底这里发生了什么?有没有深入Hbase
底层的大神来解答一下。