Impala 需要的HDFS参数简析

简介:

安装Impala时需要调整几个HDFS参数,以达到最佳性能:

1.dfs.client.read.shortcircuit(必选):

当设置这个参数后,客户端callblockSeekTo(target)会去获取一个BlockReaderLocal,不过这里注意,当block复制未完成时不可进行shortcircuit read(HDFS-2757:https://issues.apache.org/jira/browse/HDFS-2757),其中的数据输入流和校验输入流(都是FileInputStream类型)是通过DomainSocket构建,因此需要正确设置参数dfs.domain.socket.path(当配置该参数时,由于创建输入流需要用到native library来处理fd,因此如果没有找到libhadoop或者版本不匹配,则会报异常);之后读取都是直接进行本地读而不用走IPC.

另外,还有另外几个相关的参数:dfs.client.read.shortcircuit.streams.cache.sizedfs.client.read.shortcircuit.streams.cache.expiry.ms以及dfs.client.read.shortcircuit.skip.checksumdfs.client.read.shortcircuit.buffer.size.其中,在客户端读取前会创建一个FileinputStreamCache,就是由前两个参数控制大小和过期时间的,其中key就是Datanode+block;后两个参数就是决定是否跳过校验以及校验的块大小.

2.dfs.datanode.hdfs-blocks-metadata.enabled(可选)

enable这个特性后,客户端可以call getFileBlockStorageLocations这个API来获取Block(BLOCKLOCATION)disk(VOLUMNS)的映射:

首先并行(并行度和超时时间通过dfs.client.file-block-storage-locations.num-threadsdfs.client.file-block-storage-locations.timeout决定)对Datanode进行RPC CALL获取所有副本的HdfsBlockMetadata,之后利用该信息构建映射并返回.


本文转自MIKE老毕 51CTO博客,原文链接:http://blog.51cto.com/boylook/1308463,如需转载请自行联系原作者


相关文章
|
12月前
|
弹性计算 分布式计算 网络协议
聊聊复杂网络环境下hdfs的BlockMissingException异常|参数dfs.client.use.datanode.hostname
企业真实的网络环境是复杂多变的,在复杂的网络环境中部署并使用 hadoop 时,如果服务端的配置或客户端的使用不当,就可能会遇见各种问题。
聊聊复杂网络环境下hdfs的BlockMissingException异常|参数dfs.client.use.datanode.hostname
|
分布式计算 Hadoop API
Hadoop中HDFS的API操作、HDFS文件上传(测试参数优先级)、copyFromLocalFile参数解读、HDFS文件下载、文件更名和移动、删除文件和目录、文件详情查看、文件和文件夹判断
Hadoop中HDFS的API操作、HDFS文件上传(测试参数优先级)、copyFromLocalFile参数解读、HDFS文件下载、文件更名和移动、删除文件和目录、文件详情查看、文件和文件夹判断
Hadoop中HDFS的API操作、HDFS文件上传(测试参数优先级)、copyFromLocalFile参数解读、HDFS文件下载、文件更名和移动、删除文件和目录、文件详情查看、文件和文件夹判断
|
SQL 分布式计算 Hadoop
HDFS命令行客户端使用,命令行客户端支持的命令参数,常用命令参数介绍
3.HDFS的shell(命令行客户端)操作 3.1 HDFS命令行客户端使用 HDFS提供shell命令行客户端,使用方法如下: [toto@hadoop hadoop-2.8.0]$ hdfs dfs -ls /     (推荐使用这种方式,hdfs现在这种是最新的一种方式) Found 4 items drwxr-xr-x   - toto supergroup        
1492 0
Hadoop-2.7.0 HDFS DataXceiverServer两个参数的疑问
1、TcpPeerServer的数据接收缓冲区大小         Hadoop-2.7.0的DataXceiverServer中,在DataNode中对其初始化时,会构造一个TcpPeerServer,并设置数据接收缓冲区大小如下: tcpPeerServer.
1024 0
|
3月前
|
存储 分布式计算 Hadoop
Hadoop Distributed File System (HDFS): 概念、功能点及实战
【6月更文挑战第12天】Hadoop Distributed File System (HDFS) 是 Hadoop 生态系统中的核心组件之一。它设计用于在大规模集群环境中存储和管理海量数据,提供高吞吐量的数据访问和容错能力。
507 4
|
27天前
|
存储 分布式计算 Hadoop
【揭秘Hadoop背后的秘密!】HDFS读写流程大曝光:从理论到实践,带你深入了解Hadoop分布式文件系统!
【8月更文挑战第24天】Hadoop分布式文件系统(HDFS)是Hadoop生态系统的关键组件,专为大规模数据集提供高效率存储及访问。本文深入解析HDFS数据读写流程并附带示例代码。HDFS采用NameNode和DataNode架构,前者负责元数据管理,后者承担数据块存储任务。文章通过Java示例演示了如何利用Hadoop API实现数据的写入与读取,有助于理解HDFS的工作原理及其在大数据处理中的应用价值。
39 1
|
1月前
|
存储 缓存 分布式计算
|
1月前
|
存储 分布式计算 运维
Hadoop重新格式化HDFS的方案
【8月更文挑战第8天】
|
22天前
|
存储 分布式计算 资源调度
Hadoop生态系统概览:从HDFS到Spark
【8月更文第28天】Hadoop是一个开源软件框架,用于分布式存储和处理大规模数据集。它由多个组件构成,旨在提供高可靠性、高可扩展性和成本效益的数据处理解决方案。本文将介绍Hadoop的核心组件,包括HDFS、MapReduce、YARN,并探讨它们如何与现代大数据处理工具如Spark集成。
48 0

热门文章

最新文章