我正在尝试使用Hive1.2.0而不是Hadoop2.6.0。我创造了一个 employee
table。但是,当我运行以下查询时:
hive> load data local inpath '/home/abc/employeedetails' into table employee;
我得到以下错误:
Failed with exception Unable to move source file:/home/abc/employeedetails to destination hdfs://localhost:9000/user/hive/warehouse/employee/employeedetails_copy_1
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.MoveTask
我到底怎么了?我需要设置任何特定的权限吗?提前谢谢!
5条答案
按热度按时间slwdgvem1#
如果我们在分布式模式下运行上述命令后遇到同样的错误,我们可以在所有节点的所有超级用户中尝试下面的命令。sudo usermod-a-g hdfsYarnnote:we get 重新启动yarn(在ambari中)的所有服务后出现此错误。我的问题已解决。这是在运行时最好注意的管理命令。
eqfvzcg82#
我遇到同样的问题,搜索了两天,最后发现原因是datenode启动了一段时间,然后关闭了。
求解步骤:
hadoop fs -chmod -R 777 /home//employeedetails
hadoop fs -chmod -R 777 /user/hive/warehouse/employee/employeedetails_copy_1vi hdfs-site.xml
并添加以下信息:dfs.permissions.enabled假
hdfs --daemon start datanode
vi hdfs-site.xml
#查找“dfs.datanode.data.dir”和“dfs.namenode.name.dir”的位置。如果是同一位置,则必须更改它,这就是我无法启动datanode的原因。按照'dfs.datanode.data.dir'/data/current编辑版本并将clusterid复制到'dfs.namenode.name.dir'/data/current clusterid of version
start-all.sh
如果上面的问题还没有解决,要注意下面的步骤,因为数据的安全,但我已经解决了问题,因为下面的步骤。stop-all.sh
删除“dfs.datanode.data.dir”的数据文件夹、“dfs.namenode.name.dir”的数据文件夹和tmp文件夹。hdfs namenode -format
start-all.sh
解决问题也许你会遇到这样的问题。
问题:
org.apache.hadoop.ipc.remoteexception(org.apache.hadoop.hdfs.server.namenode.safemodeexception):无法创建目录/opt/hive/tmp/root/1be8676a-56ac-47aa-ab1c-aa63b21ce1fc。名称节点处于安全模式
方法:
hdfs dfsadmin -safemode leave
7lrncoxx3#
此错误可能是由于本地文件系统上的权限问题造成的。
更改本地文件系统的权限:
现在,运行:
apeeds0o4#
请参阅hdfs目录的权限:
似乎您没有权限将数据加载到配置单元表中。
qyzbxkaa5#
正如rio提到的,这个问题涉及到缺乏将数据加载到配置单元表的权限。我发现以下命令解决了我的问题: