Husky or C++ API - HDFS Short-Circuit Local Reads

hdfs-site.xml added:

1 <property>
2   <name>dfs.client.read.shortcircuit</name>
3   <value>true</value>
4 </property>
5 <property>
6   <name>dfs.domain.socket.path</name>
7     <value>/var/lib/hadoop-hdfs/dn_socket</value>
8 </property>

C++运行程序主目录

hdfs.client.xml

配置

<configuration>
  <property>
  <name>dfs.client.read.shortcircuit</name>
  <value>true</value>
  </property>
   <property>
     <name>dfs.domain.socket.path</name>
     <value>/var/lib/hadoop-hdfs/dn_socket</value>
   </property>
</configuration>

参考:

https://hadoop.apache.org/docs/r2.6.0/hadoop-project-dist/hadoop-hdfs/HdfsUserGuide.html

https://hadoop.apache.org/docs/r2.6.0/hadoop-project-dist/hadoop-hdfs/ShortCircuitLocalReads.html

时间: 2024-11-09 11:33:07

Husky or C++ API - HDFS Short-Circuit Local Reads的相关文章

详解HDFS Short Circuit Local Reads

详解HDFS Short Circuit Local Reads Hadoop的一大基本原则是移动计算的开销要比移动数据的开销小.因此,Hadoop通常是尽量移动计算到拥有数据的节点上.这就使得Hadoop中读取数据的客户端DFSClient和提供数据的Datanode经常是在一个节点上,也就造成了很多"Local Reads". 最初设计的时候,这种Local Reads和Remote Reads(DFSClient和Datanode不在同一个节点)的处理方式都是一样的,也就是都是先

十:HDFS Short-Circuit Local Reads 短路本地读取

当client请求数据时,datanode会读取数据然后通过TCP协议发送给client.short-circuit绕过了datanode直接读取数据.short-circuit的前提是client和数据在同一个结点上.     short-circuit需要libhadoop.so,一个本地库.该功能使用unix套接字,client和node通过套接字连接,需要对这个套接字设置一个路径,并且datanode有创建这个路径的权限,一般建在/var/run或者/var/lib.client和dat

初识HDFS原理及框架

目录 HDFS是什么 HDFS的优缺点 HDFS的框架 HDFS的读写流程 HDFS命令 HDFS参数 1. HDFS是什么 HDFS(Hadoop Distributed File System)是Hadoop项目的核心子项目,首先它是一个文件系统,用于存储文件,通过目录树来定位文件位置:其次,它是分布式的,由很多服务器联合起来实现其功能,集群中的服务器有各自的角色. 2.HDFS的优缺点 之所以选择HDFS来存储数据,是具有如下优势: No 优势 描述 1 高容错性 数据自动保存多个副本.它

HBase读延迟的12种优化套

任何系统都会有各种各样的问题,有些是系统本身设计问题,有些却是使用姿势问题.HBase也一样,在真实生产线上大家或多或少都会遇到很多问题,有些是HBase还需要完善的,有些是我们确实对它了解太少. 总结起来,大家遇到的主要问题无非是Full GC异常导致宕机问题.RIT问题.写吞吐量太低以及读延迟较大. Full GC问题的解决方案目前主要有两方面需要注意,一方面需要查看GC日志确认是哪种Full GC,根据Full GC类型对JVM参数进行调优,另一方面需要确认是否开启了BucketCache

02 CDH

前边已经介绍了一种hadoop的安装工具,但是HDP动态添加节点会有一些问题,而且现在用的人好像不是很多,如果想用官方更多的,可以选择HDP,如果想使用更方便一些,可以选择CDH. 安装HDP可以参考: 使用HDP快速搭建Hadoop开发环境 http://www.debugo.com/hdp-dev-setup/ 下面介绍CDH的几种安装方式. CDH安装有四种方式 Cloudera manager Tarball Yum Rpm 其中Yum及Rpm安装可以算作一种安装方式 下面是四种方式分别

hbase读写优化

一.hbase读优化 客户端优化 1.scan缓存是否设置合理? 优化原理:一次scan请求,实际并不会一次就将所有数据加载到本地,而是多次RPC请求进行加载.默认100条数据大小. 优化建议:大scan场景下将scan缓存从100增大到500或者1000,以减少RPC次数 2.get请求是否可以使用批量请求? 优化原理:Hbase分别提供了单条get以及批量get的API接口,使用批量get接口可以减少客户端到RegionServer之间的PRC连接数,提高读取性能. 3.请求是否可以显示指定

HBase最佳实践-读性能优化策略

任何系统都会有各种各样的问题,有些是系统本身设计问题,有些却是使用姿势问题.HBase也一样,在真实生产线上大家或多或少都会遇到很多问题,有些是HBase还需要完善的,有些是我们确实对它了解太少.总结起来,大家遇到的主要问题无非是Full GC异常导致宕机问题.RIT问题.写吞吐量太低以及读延迟较大. Full GC问题之前在一些文章里面已经讲过它的来龙去脉,主要的解决方案目前主要有两方面需要注意,一方面需要查看GC日志确认是哪种Full GC,根据Full GC类型对JVM参数进行调优,另一方

兄弟连区块链入门教程eth源码分析RPC分析

这是一个交互式的 JavaScript 执行环境,在这里面可以执行 JavaScript 代码,其中 > 是命令提示符.在这个环境里也内置了一些用来操作eth的 JavaScript 对象,可以直接使用这些对象.这些对象主要包括: eth:包含一些跟操作区块链相关的方法:net:包含一些查看p2p网络状态的方法:admin:包含一些与管理节点相关的方法:miner:包含启动&停止挖矿的一些方法:personal:主要包含一些管理账户的方法:txpool:包含一些查看交易内存池的方法:web3

HDFS读文件过程分析:读取文件的Block数据

转自http://shiyanjun.cn/archives/962.html 我们可以从java.io.InputStream类中看到,抽象出一个read方法,用来读取已经打开的InputStream实例中的字节,每次调用read方法,会读取一个字节数据,该方法抽象定义,如下所示:public abstract int read() throws IOException;Hadoop的DFSClient.DFSInputStream类实现了该抽象逻辑,如果我们清楚了如何从HDFS中读取一个文件