hadoop mkdir源码流程
org.apache.hadoop.hdfs.server.namenode
NameNode.java------>
public boolean mkdirs()------>
privateboolean checkPathLength(String src)------>
// 判断文件命名长度小于8000,目录深度小于1000 否则抛出异常
返回布尔值,
return src 文件权限
//文件权限通过调用PermissionStatus.java 得到用户信息,以及masked
FSNamesystem.java ------>
publicboolean mkdirs()---->
判断
返回status --(src,permissions)
privatesynchronizedboolean mkdirsInternal(src,permissions)
判断1:这个目录是否已经存在
判断2:是否处于安全模式
判断3:是否是一个有效的文件名
判断4:权限
FSDdirectory.java
boolean mkdirs()
unprotectedMkdir()
addChild()
InodeDirectory.addChild()