`
standalone
  • 浏览: 596563 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Will all HFiles managed by a regionserver kept open

阅读更多

code 没看仔细,所以在hbase 的mail list上面问了这么个问题。其实再仔细看一下big table的paper就知道肯定是open的。现在分析的结果是hbase random read的performance决定在几个方面:

1)HDFS的seek操作,平均每次random get导致几次seek?

2)memory copy; 这个问题尤其在data locality差的时候,比如datanode 和regionserver不在一个node上的时候;

3)block cache?

 

hi, I know generally regionserver manages HRegions and in the HDFS layer data in HRegion are stored as HFile format. I want to know whether HFiles are all open and things lke block index are all loaded first to improve lookup performance? If so, what will happen if exceeding memory limit? 

Thanks.
 回复
 转发
回复

Stack

 发送至 user
显示详细信息 1月13日 (6 天前)
Yes, all files are opened on startup and kept open.  Open of an hbase
storefile/hfile includes loading up of the file index and metadata.
In our experience, this overhead has been small.  Its currently not
accounted for in our general memory-counting.
 We should for sure add
it.

St.Ack
- 显示引用文字 -
 回复
 转发
回复

Tao Xie

 发送至 user
显示详细信息 1月13日 (6 天前)
Thanks for your response, Stack. I have a further question when understanding hbase.
In my minds, I think a get is executed in the following process.
 
hbase client <=> RS <=> DN

1) hbase client finds the RS managing the key; 2) RS knows the hfile and fetches data from DataNode, this may be a pread + scanning in the hbase data block; 3) record result is returned to client.

Is this correct? So the most expensive operation is step 2?  Any other time-consuming places?


2011/1/13 Stack <stack@duboce.net>
- 显示引用文字 -

 回复
 转发
回复

Ryan Rawson

 发送至 user
显示详细信息 1月13日 (6 天前)
retrieving data from disk is the most dominant element, until you are
fully cached in which case other factors inside the regionserver
become dominant. at this point copying memory, gc, algorithmic
complexity, etc become important.
- 显示引用文字 -
 回复
 转发
 邀请 Ryan Rawson 聊天
回复

Tao Xie

 发送至 user
显示详细信息 1月14日 (4 天前)
is hdfs seek the most dominant in retrieving data? If records are small (~1k) and most requests are random Gets,  how many seek will happen in average during a Get. Btw, what do you mean by memory copying?  when will it cause large overhead? thanks.

2011/1/13 Ryan Rawson <ryanobjc@gmail.com>
- 显示引用文字 -

 回复
 转发
回复

Jean-Daniel Cryans

 发送至 user
显示详细信息 3:08 (7 小时前)
There should be as many seeks as there is store files in the region
that's serving the data.
There's also the family dimension e.g. if you
read from only 1 family then only those store files are read.

So on average, I'd say you'll do 3 seeks since you do a minor
compaction once you reach 4 store files in a family.

What he meant by memory copying is just that the data has to be copied
from the socket when you read from HDFS and then into the outbound
socket for the client
after the region server does whatever processing
it needs to do. I guess the more data you read to longer it takes to
copy in RAM?

J-D
- 显示引用文字 -

 

分享到:
评论

相关推荐

    c_function_extractor:此工具主要用于提取检索指定输入文件路径或输入目录路径下的所有单个函数,并将每个函数存储到指定输出目录下的单个文件中

    FILE [INPUT_FILE ...]]] [-d [INPUT_DIR]] [-D OUTPUT_DIR] [--clear_output_dir] [-a] [--alv ABSTRACTION_LEVEL] [-N]A extractor used to extract all clang functions in specified file dir or .c/.hfiles....

    HBase_XML_bulkimport

    使用 API 将数据放入工作中,但因为它必须遍历 HBase 的写入路径(即在将其刷新到 HFile 之前通过 WAL 和 memstore),它比您简单地绕过该批次并自己创建 HFiles 和将它们直接复制到 HDFS 中。 幸运的是 HBase 带有...

    HBaseBulkImportXML:如何将 XML 文件中的数据批量导入 HBase 表的示例

    使用 API 将数据放入工作中,但因为它必须遍历 HBase 的写入路径(即在将其刷新到 HFile 之前通过 WAL 和 memstore),它比您简单地绕过该批次并自己创建 HFiles 和将它们直接复制到 HDFS 中。 幸运的是 HBase 带有...

    hive-hbase-generatehfiles

    hive.hbase.generatehfiles-生成HFiles为true hfile.family.path-HDFS中放置HFile的路径。 请注意,对于hfile.family.path,最后的su目录必须MATCH MATCH列族名称。 项目中的脚本可与Hortonworks沙盒一起使用,以...

    图解迪杰斯特拉(Dijkstra)最短路径算法.docx

    一、最短路径的概念及应用 在介绍最短路径之前我们首先要明白两个概念:什么是源点,什么是终点?在一条路径中,起始的第 一个节点叫做源点;终点:在一条路径中,最后一个的节点叫做终点;注意!源点和终点都只是相对 于一条路径而言,每一条路径都会有相同或者不相同的源点和终点。 而最短路径这个词不用过多解释,就是其字面意思: 在图中,对于非带权无向图而言, 从源点到终点 边最少的路径(也就是 BFS 广度优先的方法); 而对于带权图而言, 从源点到终点权值之和最少的 路径叫最短路径; 最短路径应用:道路规划; 我们最关心的就是如何用代码去实现寻找最短路径, 通过实现最短路径有两种算法:Dijkstra 迪杰斯 特拉算法和 Floyd 弗洛伊德算法, 接下来我会详细讲解 Dijkstra 迪杰斯特拉算法;

    基于faster-rcnn实现的行人检测算法python源码+项目说明+详细注释.zip

    基于faster-rcnn实现的行人检测算法python源码+项目说明+详细注释.zip 使用方法: 1.编译安装faster-rcnn的python接口,代码在:https://github.com/rbgirshick/py 2.下载训练好的caffe模型,百度云链接为:https://pan.baidu.com/s/1w479QUUAwLBS2AJbc-eXIA,将下载的模型文件放到faster-rcnn文件夹的data/faster_rcnn_models文件夹中 3.将本项目中的文件夹替换安装好的faster-rcnn源码中的文件夹 4.使用tools文件夹下的测试脚本运行demo:python person_detect.py

    jsp基于Web的可维护的数据库浏览器(源代码+论文+答辩PPT).zip

    jsp基于Web的可维护的数据库浏览器(源代码+论文+答辩PPT)

    node-v12.7.0-linux-ppc64le.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    unet + pytorch 数据科学碗2018-python源码.zip

    unet + pytorch 数据科学碗2018-python源码.zip

    1999-2020年各地级市实际利用外资数据.xlsx

    数据预览链接:https://pan.baidu.com/s/17y5tiSmC5U4d1Mben250gg 提取码:u1da 更多介绍:https://blog.csdn.net/m0_71334485/article/details/138400336

    基于Torch Hub的渐进式GAN架构-python源码.zip

    基于Torch Hub的渐进式GAN架构-python源码.zip

    JSP基于Iptables图形管理工具的设计与实现(源代码+论文).zip

    JSP基于Iptables图形管理工具的设计与实现(源代码+论文)

    使用Keras+TensorFlow+FCN分割KITTI数据集-python源码.zip

    使用Keras+TensorFlow+FCN分割KITTI数据集-python源码.zip

    基于RRT采样对六轴机械臂进行路径规划Matlab完整源码+代码注释+项目说明.zip

    基于RRT采样对六轴机械臂进行路径规划Matlab完整源码+代码注释+项目说明.zip

    深蹲姿势分析-python源码.zip

    深蹲姿势分析-python源码.zip

    基于python实现的交通网络中的流量调控使用复杂网络中的级联失效模型.rar

    基于python实现的交通网络中的流量调控使用复杂网络中的级联失效模型.rar

    node-v4.4.1.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    node-v4.8.7.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    深度残差网络ResNet-python源码.zip

    深度残差网络ResNet-python源码.zip

    基于oecms内核蓝色经典大方手机wap企业网站源码.zip

    触屏版自适应手机wap软件网站模板 触屏版自适应手机wap软件网站模板

Global site tag (gtag.js) - Google Analytics