Region/Hfile/Datanode的关系和区分
2017-08-16 18:27
1066 查看
转载链接:https://www.zhihu.com/question/26872988/answer/35186487
这三个术语分别属于Hadoop家族中的HBase和HDFS,DateNode是HDFS的,HFile和region是HBase的,HBase是采用HDFS作为存储。
Data Node
Data Node是指HDFS集群中负责存储数据的服务器,与此相对的是Naming Node:
<img src="https://oscdn.geek-share.com/Uploads/Images/Content/202004/27/7633c514d4349599ff0a57f5a6c95061.jpg" data-rawwidth="874" data-rawheight="604" class="origin_image zh-lightbox-thumb" width="874" data-original="https://pic4.zhimg.com/272b35a89da96d6ed24241d8c7ebb107_r.jpg">
Region
Region是表按照RowKey范围划分的不同的部分,相当于DBMS中的分区。同时Region也是表在集群中分布的最小单位,可以被分配到某一个Region Server上。
<img src="https://oscdn.geek-share.com/Uploads/Images/Content/202004/27/d6a878e15b639436cff1f92981b1fe34.jpg" data-rawwidth="1500" data-rawheight="1125" class="origin_image zh-lightbox-thumb" width="1500" data-original="https://pic4.zhimg.com/73599131f5b647e6319d93e7aef10fcf_r.jpg">(图片来源:
(
Region中又按照Column Famliy分为不同的Store,每个Store由MemStore和StoreFile组成。
<img src="https://oscdn.geek-share.com/Uploads/Images/Content/202004/27/dcea6c48f315793e018f922b843758bb.jpg" data-rawwidth="1500" data-rawheight="1125" class="origin_image zh-lightbox-thumb" width="1500" data-original="https://pic3.zhimg.com/2438cd1b138a6f2dd547356f85ef8d1e_r.jpg">
HFile
如上图所示,一个StoreFile对应着一个HFile。而HFile是存储在HDFS之上的。HFile文件格式是基于Google Bigtable中的SSTable,如下图所示:
<img src="https://oscdn.geek-share.com/Uploads/Images/Content/202004/27/79c78ba174072fcec19e7e2ea235bad8.jpg" data-rawwidth="1600" data-rawheight="473" class="origin_image zh-lightbox-thumb" width="1600" data-original="https://pic3.zhimg.com/3441bb28765471219ddc34f2e7fc200a_r.jpg">(图片来源:
整体上看
下面这张图中把DataNode,Region(HRegion)和HFile以及它们之间的关系都表示出来了。
<img src="https://oscdn.geek-share.com/Uploads/Images/Content/202004/27/ba37cfd50987237521c0a8dfea898f12.jpg" data-rawwidth="1600" data-rawheight="809" class="origin_image zh-lightbox-thumb" width="1600" data-original="https://pic3.zhimg.com/ef9724265b9a2fc90eab38228bad1646_r.jpg">(图片来源:
这三个术语分别属于Hadoop家族中的HBase和HDFS,DateNode是HDFS的,HFile和region是HBase的,HBase是采用HDFS作为存储。
Data Node
Data Node是指HDFS集群中负责存储数据的服务器,与此相对的是Naming Node:
<img src="https://oscdn.geek-share.com/Uploads/Images/Content/202004/27/7633c514d4349599ff0a57f5a6c95061.jpg" data-rawwidth="874" data-rawheight="604" class="origin_image zh-lightbox-thumb" width="874" data-original="https://pic4.zhimg.com/272b35a89da96d6ed24241d8c7ebb107_r.jpg">
Region
Region是表按照RowKey范围划分的不同的部分,相当于DBMS中的分区。同时Region也是表在集群中分布的最小单位,可以被分配到某一个Region Server上。
<img src="https://oscdn.geek-share.com/Uploads/Images/Content/202004/27/d6a878e15b639436cff1f92981b1fe34.jpg" data-rawwidth="1500" data-rawheight="1125" class="origin_image zh-lightbox-thumb" width="1500" data-original="https://pic4.zhimg.com/73599131f5b647e6319d93e7aef10fcf_r.jpg">(图片来源:
(
Region中又按照Column Famliy分为不同的Store,每个Store由MemStore和StoreFile组成。
<img src="https://oscdn.geek-share.com/Uploads/Images/Content/202004/27/dcea6c48f315793e018f922b843758bb.jpg" data-rawwidth="1500" data-rawheight="1125" class="origin_image zh-lightbox-thumb" width="1500" data-original="https://pic3.zhimg.com/2438cd1b138a6f2dd547356f85ef8d1e_r.jpg">
HFile
如上图所示,一个StoreFile对应着一个HFile。而HFile是存储在HDFS之上的。HFile文件格式是基于Google Bigtable中的SSTable,如下图所示:
<img src="https://oscdn.geek-share.com/Uploads/Images/Content/202004/27/79c78ba174072fcec19e7e2ea235bad8.jpg" data-rawwidth="1600" data-rawheight="473" class="origin_image zh-lightbox-thumb" width="1600" data-original="https://pic3.zhimg.com/3441bb28765471219ddc34f2e7fc200a_r.jpg">(图片来源:
整体上看
下面这张图中把DataNode,Region(HRegion)和HFile以及它们之间的关系都表示出来了。
<img src="https://oscdn.geek-share.com/Uploads/Images/Content/202004/27/ba37cfd50987237521c0a8dfea898f12.jpg" data-rawwidth="1600" data-rawheight="809" class="origin_image zh-lightbox-thumb" width="1600" data-original="https://pic3.zhimg.com/ef9724265b9a2fc90eab38228bad1646_r.jpg">(图片来源:
相关文章推荐
- hadoop中NameNode、DataNode和Client三者之间协作关系及通信方式介绍
- ccah-500 第39题 How must you format underlying file system of each DataNode
- File /hbase could only be replicated to 0 nodes instead of minReplication (=1). There are 30 datanode(s) running and no node(s) are excluded in this operation.
- hadoop中NameNode、DataNode和Client三者之间协作关系及通信方式介绍
- hadoop中NameNode、DataNode和Client三者之间协作关系及通信方式介绍
- 描述tablespace和datafile之间的关系
- namenode,datanode,client三者的关系
- Hadoop学习笔记(老版本,YARN之前),MapReduce任务Namenode DataNode Jobtracker Tasktracker之间的关系
- 单独启动Hadoop datanode和hbase regionserver
- MapReduce任务Namenode DataNode Jobtracker Tasktracker之间的关系
- hadoop datanode 重新启动和hbase regionserver重新启动
- Hbase的读写流程、快照管理以及RegionServer,Region,StoreFile,Hfile,ColumFamily的关系
- The hex file has data in SoftDevice region.
- HBase中Region, store, storefile和列簇的关系
- tablespace和datafile之间的关系
- 重建控制文件后,各文件(datafile、control file、redo log)中scn的关系
- 每天两道oracle笔试题+第八天:1、简述tablespace和datafile的关系?2、什么视图用来判断表空间的剩余空间?
- Hadoop学习笔记,MapReduce任务Namenode DataNode Jobtracker Tasktracker之间的关系
- 单独启动hadoop datanode和hbase regionserver
- Hadoop学习笔记:MapReduce任务Namenode DataNode Jobtracker Tasktracker之间的关系