HDFS 文件 是 write-once-read-many ,不支持客户端的并行写操作。
租约(lease)
租约(lease)机制保证了HDFS文件的互斥操作。
客户端写HDFS文件时,先从租约管理器(LeaseManager)申请一个租约,成为租约持有者,也就有了对该HDFS文件的独占权限
HDFS集中式缓存
Hadoop 2.3 以上,新增了centralized Cache Management,允许用户将一些文件目录存放在HDFS缓存中,HDFS集中式缓存 由 各个 DataNode 的堆外缓存组成,由DataNode统一管理
安全模式
安全模式 是 nameNode 的一种状态,此状态,Namenode 不接受任何命名空间的修改操作,同时也不触发复制和删除数据块的操作
NameNode启动时自动进入安全模式,首先加载fsimage 并且合并editslog,之后接受 DataNode 的块汇报,以获得块的存储信息。当Namenode收到数据块副本系数满足最低要求,然后延迟一段时间(默认是30s)才离开安全模式
通信协议
ProtobufRpcEngine的静态类RpcRequestWrapper
该类对象保存了两部分信息,两部分都是用protobuf序列化
- PPC请求头:纪录了客户端在什么接口调用了什么方法
请求参数:方法调用的参数。
最后 Client.call 将 请求发送到远程服务器。