hadoop集成中的作用

b1payxdu  于 2021-06-03  发布在  Hadoop
关注(0)|答案(1)|浏览(250)

据我所知,行被插入到hbase表中,并作为区域存储在不同的区域服务器中。因此,区域服务器存储数据
与hadoop类似,数据存储在hadoop集群中的数据节点中。
假设我在hadoop1.1.1之上配置了hbase 0.90.6,如下所示
2个节点-主节点和从节点
主节点充当,
hadoop-名称节点,辅助名称节点,作业跟踪器,数据节点,任务跟踪器
hbase-主服务器、regionserver和zookeeper。
从节点充当,
hadoop数据节点和任务跟踪器
hbase区域服务器
基于我的语句,如果表数据存储在区域服务器中;那么数据节点和区域服务器的作用是什么?

e0bqpujr

e0bqpujr1#

数据节点存储数据。区域服务器基本上是缓冲区i/o操作;数据永久存储在hdfs(即数据节点)上。我不认为把区域服务器放在“主”节点上是个好主意。
以下是如何管理区域的简化图片:
您有一个运行hdfs(namenode+datanodes)的集群,复制因子为3(每个hdfs块被复制到3个不同的datanodes)。
您可以在与datanodes相同的服务器上运行regionservers。当写入请求到达regionserver时,它首先将更改写入内存并提交日志;然后在某个时刻,它决定是时候将更改写入hdfs上的永久存储了。以下是数据局部性的作用:由于您在同一台服务器上运行regionserver和datanode,文件的第一个hdfs块副本将写入同一台服务器。另外两个副本将被写入其他数据节点。因此,服务于该区域的regionserver几乎总是可以访问数据的本地副本。
如果regionserver崩溃或者regionmaster决定将区域重新分配给另一个regionserver(以保持集群平衡),该怎么办?new regionserver将被强制首先执行远程读取,但一旦执行压缩(将更改日志合并到数据中),new regionserver将向hdfs写入新文件,并在regionserver上创建本地副本(同样,因为datanode和regionserver在同一台服务器上运行)。
注意:如果regionserver崩溃,以前分配给它的区域将重新分配给多个regionserver。
好读物:
TomWhite,“hadoop,权威指南”很好地解释了hdfs体系结构。不幸的是,我没有读过谷歌gfs的原版文章,所以我不知道这是否容易理解。
谷歌bigtable文章。hbase是googlebigtable的实现,我发现本文中的架构描述是最容易理解的。
以下是google bigtable和hbase实现之间的术语差异(来自lars george,“hbase,最终指南”):
hbase-大表
地区-平板电脑
regionserver-平板电脑服务器
冲洗-轻微压实
轻微压实-合并压实
主要压实-主要压实
预写日志-提交日志
hdfs-gfs
hadoop mapreduce-mapreduce
memstore-内存表
hfile-表格
Zookeeper-胖乎乎的

相关问题