[hdfs@master ~]$ hdfs dfs -mkdir /user/dolphinscheduler mkdir: `hdfs://master:8020/user': No such file or directory [hdfs@master ~]$ hdfs dfs -chown dolphinscheduler:hadoop /user/dolphinscheduler chown: `/user/dolphinscheduler': No such file or directory
时间: 2025-03-17 17:17:22 浏览: 37
从错误信息可以看出,在HDFS中创建目录 `/user/dolphinscheduler` 的操作失败了,原因是其父路径 `/user` 不存在。
### 解决步骤:
#### 1. 创建缺失的父目录
首先需要检查并确认 HDFS 中是否存在 `/user` 目录。如果该目录不存在,则先手动创建它:
```bash
[hdfs@master ~]$ hdfs dfs -mkdir /user
```
然后再次尝试创建目标目录 `/user/dolphinscheduler`:
```bash
[hdfs@master ~]$ hdfs dfs -mkdir /user/dolphinscheduler
```
---
#### 2. 修改权限
当成功创建完 `/user/dolphinscheduler` 后,可以为其设置正确的用户和组所有权:
```bash
[hdfs@master ~]$ hdfs dfs -chown dolphinscheduler:hadoop /user/dolphinscheduler
```
上述命令会将 `/user/dolphinscheduler` 的所有者改为 `dolphinscheduler` 用户,并将其所属组设为 `hadoop` 组。
---
#### 3. 验证结果
验证是否一切正常:
```bash
[hdfs@master ~]$ hdfs dfs -ls /
```
这应该能列出根目录下的内容,包括刚创建的 `/user` 和 `/user/dolphinscheduler`。
还可以直接查看 `/user/dolphinscheduler` 权限是否有误:
```bash
[hdfs@master ~]$ hdfs dfs -stat %a:%u:%g /user/dolphinscheduler
```
---
### 常见问题分析
- **为什么会出现“文件或目录不存在”的提示?**
因为目标路径 `/user/dolphinscheduler` 的父级目录 `/user` 并未预先存在。
- **如何避免类似的问题发生?**
在执行递归式指令前,最好通过 `-mkdir -p` 参数一次性完成整个路径层级的创建(若某些中间层已存在则不会重复生成)。例如:
```bash
[hdfs@master ~]$ hdfs dfs -mkdir -p /user/dolphinscheduler
```
- **为何还需要调整权限?**
默认新建立起来的数据节点会被赋予默认的所有权与访问控制列表 (ACL),而业务应用通常运行于非超级管理员身份下;因此明确指定归属有助于程序顺利读取、写入数据。
---
**总结**: 先用带参数选项的一次性建好完整路径再配置关联账户属性即可顺利完成任务!
阅读全文
相关推荐


















