分类: Hdfs

16 篇文章

HDFSDATANODE数据传输详解
本文档主要阐述datanode中一个socket连接接收字节流的构成,帮助datanode的接收与处理数据。注意hadoop版本为3.1.1。 写在前面 Datanode本质上也是TCPServer,一般的TCPServer接到客户端请求以后会分配一个线程处理,对于Datanode而言,这个线程可以叫做Op处理连接。每个OP连接会多次和客户端交互,…
HDFSRPC协议详解
本文主要阐述HDFSRPCserver端一个socket连接接收字节流的构成,帮助读者理解HDFSRPC协议。注意hadoop版本为3.1.1。 写在前面 关于proto写入和读取,使用writeDelimitedTo和read,应该是通用的方式,不作过多的介绍。 处理rpc各种情况以后server都会使用统一的应答格式(包含错误与正确),即 Rp…
dfs.permissions.superusergroup详解
此参数主要是配置hdfs的超级部门,默认值是supergroup。 这个参数主要在FSNamesystem类中用于创建root目录。 PermissionStatus createFsOwnerPermissions(FsPermission permission) {return new PermissionStatus(fsOwner.getS…
HDFS源码分析:Namenode通信原理
Hadoop RPC框架原理 RPC是远程过程调用(Remote Procedure Call)的缩写形式。RPC主要目的是能让应用层可以像调用本地方法一样调用远程方法。既然是远程调用,肯定是采用了c/s架构。我们可以先分析一下client和server分别要完成什么事情。 Client:当应用层调用方法时,肯定要先建立连接,然后把方法和参数都通过…
HDFS源码分析:Datanode通信分析
​  Datanode本质上也是TCPServer,一般的TCPServer接到客户端请求以后会分配一个线程处理,对于Datanode而言,这个线程可以叫做Op处理线程。每个OP线程会多次和客户端交互,中间涉及多种packet。 Op线程 写在前面 写在前面,关于proto writeDelimitedTo方法 在整个处理流程中,会非常频…
HDFS源码分析:客户端读写
​  客户端读 hdfs客户端读会先调用open方法,open会调用先getBlockLocations来获取块信息,然后通过openinternal生成DFSInputStream对象,通过DFSInputStream读数据。 getLocatedBlocks(String src, long start, long length) 客…