栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

Locality 为什么介于0~1之间?

Locality 为什么介于0~1之间?

一、Locality

这是HDFS中的一个概念(在后文中进行了解释),Locality的数值可以明显反映出Hbase在某些环境下的性能大小。

在大数据环境中,DataNode消耗内存、CPU资源较少,而Hbase的RegionServer消耗内存和CPU资源较多,所以我们可以把DataNode与RegionServer部署在同一机器上。

对于DFSClient客户端来说,一个文件在这台机器上的Locality 可以定义为:

  • Locality =该文件存储在本地机器的字节数之和/改文件总字节数

从定义可知,Locality 是介于0至1之间的数,Locality 越大,说明本地数据越多,需要通过网络读取的数据越少,性能越高。反之…

二、为什么Locality介于0和1之间,不应该是1么?
  • 读取数据时,DFSClient优先从本地读取,如果读取失败或者数据损毁,就从其他副本加载需要的数据。RegionServer会在其他DataNode上将数据拷贝回本节点,Locality 慢慢的接近1后等于1。
    • 为什么从其他副本加载信息会影响Locality ?HDFS默认三副本策略以及机架感知原理,副本保存在其他节点,不在本节点上。
  • RegionServer服务挂掉,Region会被分配到新的RegionServer上,但不是将这些Region全部分配给RegionServer中,会进行随机分配。有概率还会分布在同一RegionServer中。
  • 集群重新启动,重新分配RegionServer与Region关系。
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/662816.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号