提示网站正在建设中,中煤地建设有限公司网站,阳泉做网站多少钱,个人能申请网站吗HDFS客户端
客户端作用
管理文件目录文件系统操作读写
客户端生成
配置项
配置 客户端状态 缓冲相关参数#xff0c;读写缓冲 失败切换操作 推测执行??
NN引用
NNProxy
客户端关闭
关闭IO流 修改状态 关闭RPC连接 是否有多个RPC连接#xff1f; HDFS读
打开文件构…HDFS客户端
客户端作用
管理文件目录文件系统操作读写
客户端生成
配置项
配置 客户端状态 缓冲相关参数读写缓冲 失败切换操作 推测执行??
NN引用
NNProxy
客户端关闭
关闭IO流 修改状态 关闭RPC连接 是否有多个RPC连接 HDFS读
打开文件构建输入流
输入流
FSInputStream (seek,pos) DFSInputStream 缓存相关读取相关 HDFSInputStream 获取当前的数据节点获取当前的块获取所有的块等
open方法
获取文件对应的块信息: ClientProtocol.getBlockLoactions(); NN端响应需要给出排序规则。 获取块对应的长度信息:ClientDatanodeProtocol.getReplicaVisibleLength()方法。
read方法 最终的目的是从一个流读取一定长度的信息 网络读短路读: 客户端和DN在同一个节点DomainSocket零拷贝读
调用blockSeekTo(RPC)找到pos文件块信息找到合适的datanode,构建BlockReader readBuffer增加校验和重试逻辑 BlockReader.doRead方法进行实际的读取
HDFS写
正常的写步骤如下
创建文件返回DFSoutputStream申请数据块构建管道写数据关闭流提交文件
故障恢复:
重发复制更新NN