FSDirectory详解:配置和变量

This commit is contained in:
LingZhaoHui 2024-03-31 21:34:54 +08:00
parent 5e0807743b
commit 6504a13b23
Signed by: zeekling
GPG Key ID: D96E4E75267CA2CC
1 changed files with 8 additions and 7 deletions

View File

@ -33,12 +33,13 @@ FSDirectory的操作则全部是在内存中进行的 并不进行editlog的
## 常量
- INodeDirectory rootDir 整个文件系统目录树的根节点, 是INodeDirectory类型的 。
- FSNamesystem namesystem Namenode的门面类 这个类主要支持对数据块进行操作的一些方法, 例如addBlock()。
- INodeMap inodeMap 记录根目录下所有的INode,并维护INodeId ->INode的映射关系。
- ReentrantReadWriteLock dirLock 对目录树以及inodeMap字段操作的锁。
- NameCache<ByteArray> nameCache 将常用的name缓存下来 以降低byte[]的使用, 并降低JVM heap的使用。
- FSNamesystem namesystem Namenode的门面类 这个类主要支持对数据块进行操作的一些方法, 例如addBlock()。
- INodeMap inodeMap 记录根目录下所有的INode,并维护INodeId ->INode的映射关系。
- ReentrantReadWriteLock dirLock 对目录树以及inodeMap字段操作的锁。
- NameCache<ByteArray> nameCache 将常用的name缓存下来 以降低byte[]的使用, 并降低JVM heap的使用。
- SortedSet<String> protectedDirectories使用 dfs.namenode.protected.directories 设置保护的一组目录。 这些目录不能被删除,除非它们是空的。
- FSEditLog editLog 用于写editlog的类。
- HdfsFileStatus[] reservedStatuses 待定。
- INodeAttributeProvider attributeProvider用于实现权限管理。