HDFS Namenode接收RPC请求过程

Namenode作为HDFS的核心组件,其主要通过NameNodeRpcServer处理来自Datanode和Client的RPC请求。FSNamesystem负责元数据管理,而Namenode则关注IPC通信和配置。NameNodeRpcServer内部包含两个RPC.Server,用于分别处理Datanode和Client的交互。启动和运行过程中,ProtobufRpcEngine.RpcRequestWrapper扮演关键角色,负责读取参数。
摘要由CSDN通过智能技术生成
HDFS中所有控制消息通过RPC发送(数据消息直接使用Socket),所以让我们看看它的Under the hood.

对于Namenode,它的main函数位于org.apache.hadoop.hdfs.server.namenode.Namenode,而元数据的实际管理主要由FSNamesystem类完成,Namenode类则负责与外界的IPC通信以及一些配置工作。

Namenode有个NameNodeRpcServer的成员,专门负责处理RPC请求。在NameNodeRpcServer类中又有两个RPC.Server的成员变量,serviceRpcServer和clientRpcServer,分别接收来自Datanode和Client的请求。

源码中和RPC相关的类主要有几个:

org.apache.hadoop.ipc.Server:RPC服务在java.net和java.nio上的实现,封装了几个内部类如Call, Listener, Responder, Connection, Handler,具体见后文。
org.apache.hadoop.ipc.RPC: RPC服务的建立调用等,其中内部类Server继承了org.apache.hadoop.ipc.Server.
org.apache.hadoop.ipc.ProtobufRpcEngine和WritableRpcEngine分别是RPCEngine的protobuf和writable实现,继承了org.apache.hadoop.ipc.RPC.Server.


追踪一下clientRpcServer服务器的启动、运

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值