hdfs短路读

恩慈2年前技术文章912

原理

当客户端执行数据块副本短路读时,Client与DataNode的交互过程具体如下图:

含义如下:

(1)DFSClient通过requestShortCircuitShm()接口向DataNode请求创建共享内存,DataNode创建共享内存文件并将共享内存文件描述符返回给DFSClient。

(2)DFSClient通过allocShmSlot()接口申请共享内存中的槽位,并通过requestShortCircuitFds()接口向DataNode请求要读取的副本文件描述符,DataNode打开副本文件并将数据块文件和元数据文件的文件描述符返回给DFSClient。

(3)DFSClient读取完副本后,异步通过releaseShortCircuitFds()接口向DataNode请求释放文件描述符及相应槽位


配置hdfs短路读


修改hdfs-site.xml文件 添加如下内容

<!--开启客户端段路读-->
<property>
   <name>dfs.client.read.shortcircuit</name>
   <value>true</value>
</property>


重启hdfs服务

相关文章

企业级大数据安全架构(四)

企业级大数据安全架构(四)

Ranger是支持审计功能的,安装时可以选择审计数据保存的位置,默认支持Solr和HDFS。HDFS的配置比较简单,这里就不赘述了,我们这里使用Ambari默认自带的Solr保存审计日志,下面部署So...

PG的统计信息(三)

1.3 数据分布类统计信息1.3.1 pg_stats通过对pg_stats的查询,可以查看每个字段的数据分析统计信息,类似SQL Server的直方图,为优化器选择最佳执行计划提供依据,pg_sta...

Oozie web console is disabled 问题解决

Oozie web console is disabled 问题解决

一、问题一a、错误现象b、解决方案①、根据提示查看Oozie Quick Start 发现是缺少ExtJS 2.2库(必须是2.2版)下载ExtJS2.2下载地址:http://archive.clo...

flink sql 批处理

进入flink sql命令行sql-client.shSource 表        与所有 SQL 引擎一样,Flink 查询操作是在表上进行。与传统数据库不同,Flink 不在本地管理静态数据;相...

docker私有仓库搭建及containerd使用私有仓库

docker私有仓库搭建及containerd使用私有仓库

这里我们要搭建的私有仓库非harbor,而是更轻量的docker-registry。使用的工具是containerd私有仓库搭建```Plain Text创建目录mkdir -p /opt/docke...

Python 并发编程 Futures

Python 并发编程 Futures

说明编程中如果能合理利用编程语言的并发编程技巧,都可以极大提升程序的性能。在 Python 3.2 版本为用户提供了一个标准库 concurrent.futures 可以实现进程池 和 线程池,本篇文...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。