You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Hadoop新手使用Sqoop导入MySQL表到HDFS时遇权限拒绝错误

解决Sqoop导入HDFS时的权限拒绝问题

问题原因

HDFS根目录/的默认权限为drwxr-xr-x,所有者是hdfs:supergroup,普通用户(如cloudera)仅拥有读和执行权限,没有写权限,因此无法直接在根目录下创建目标文件夹/queryresult20。

解决方案

方案1:使用用户专属目录(推荐)

普通用户对自己的HDFS home目录/home/cloudera拥有完整读写权限,直接修改Sqoop命令的目标目录路径即可:

sqoop import \
--connect "jdbc:mysql://quickstart.cloudera:3306/retail_db" \
--username root \
--password cloudera \
--table categories \
--target-dir /home/cloudera/queryresult20

如果目标目录已存在,可添加--delete-target-dir参数自动删除原有目录:

sqoop import \
--connect "jdbc:mysql://quickstart.cloudera:3306/retail_db" \
--username root \
--password cloudera \
--table categories \
--target-dir /home/cloudera/queryresult20 \
--delete-target-dir

方案2:授权根目录下的目标文件夹

若必须将数据导入根目录,需先以hdfs用户创建目录并授权给cloudera用户:

  1. 切换到hdfs用户:
    su hdfs
  2. 创建目标目录:
    hadoop fs -mkdir /queryresult20
  3. 修改目录所有者为cloudera:
    hadoop fs -chown cloudera:cloudera /queryresult20
  4. 退出hdfs用户:
    exit
  5. 执行原Sqoop命令即可。

内容的提问来源于stack exchange,提问作者Ora Aff

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 12:22:11