【问题标题】:Hadoop Hive unable to move source to destinationHadoop Hive 无法将源移动到目标
【发布时间】:2015-05-27 13:02:06
【问题描述】:

我正在尝试在 Hadoop 2.6.0 上使用 Hive 1.2.0。我创建了一个employee 表。但是,当我运行以下查询时:

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

我在这里做错了什么?我需要设置任何特定权限吗?提前致谢!

【问题讨论】:

    标签: java hadoop hive execution


    【解决方案1】:

    正如 Rio 所提到的,该问题涉及缺乏将数据加载到 hive 表中的权限。我发现以下命令可以解决我的问题:

    hadoop fs -chmod g+w /user/hive/warehouse
    

    【讨论】:

      【解决方案2】:

      查看HDFS目录的权限:

      hdfs dfs -ls /user/hive/warehouse/employee/employeedetails_copy_1
      

      您似乎没有权限将数据加载到配置单元表中。

      【讨论】:

        【解决方案3】:

        错误可能是由于本地文件系统的权限问题。

        更改本地文件系统的权限:

        sudo chmod -R 777 /home/abc/employeedetails
        

        现在,运行:

        hive> load data local inpath '/home/abc/employeedetails' into table employee;
        

        【讨论】:

          【解决方案4】:

          如果我们遇到同样的错误在分布式模式下运行上述命令后,我们可以在所有节点的所有超级用户中尝试以下命令。 sudo usermod -a -G hdfs yarn 注意:重新启动 YARN 的所有服务(在 AMBARI 中)后,我们会收到此错误。我的问题已解决。这是管理员命令,在您运行时更要注意。

          【讨论】:

            【解决方案5】:

            遇到同样的问题,找了两天,终于找到原因是datenode启动了一会儿就关机了。

            解决步骤:

            1. hadoop fs -chmod -R 777 /home/abc/employeedetails

            2. hadoop fs -chmod -R 777 /user/hive/warehouse/employee/employeedetails_copy_1

            3. vi hdfs-site.xml 并添加关注信息:

              dfs.permissions.enabled 错误的

            4. hdfs --daemon start datanode

            5. vi hdfs-site.xml#找到'dfs.datanode.data.dir'和'dfs.namenode.name.dir'的位置。如果是相同的位置,你必须改变它,这就是为什么我无法启动datanode原因。

            6. 按照'dfs.datanode.data.dir'/data/current编辑VERSION并将clusterID复制到'dfs.namenode.name.dir'/data/current clusterID的VERSION。

              李>
            7. start-all.sh

            8. 如果上述问题未解决,由于数据安全,请小心执行以下步骤,但我已经解决了问题,因为请执行以下步骤。

            9. stop-all.sh

            10. 删除“dfs.datanode.data.dir”的数据文件夹和“dfs.namenode.name.dir”的数据文件夹和tmp文件夹。

            11. hdfs namenode -format

            12. start-all.sh

            13. 解决问题

            也许你会遇到这样的其他问题。

            问题:

            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

            【讨论】:

              【解决方案6】:

              可能是因为您的 hive 用户无权访问 HDFS 的本地目录

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2018-11-23
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2016-09-25
                相关资源
                最近更新 更多