winutils.exe chmod命令没有设置权限

Ole*_*nko 7 windows hadoop hive apache-spark

> D:\>echo %HADOOP_HOME% 
> D:\Apps\winutils\hadoop-2.7.1
Run Code Online (Sandbox Code Playgroud)

在与HADOOP_HOME相同的磁盘上创建tmp/hive文件夹

 D:\>dir tmp\hive

  Directory of D:\tmp\hive

  06/13/2016 01:13 PM <DIR> .
  06/13/2016 01:13 PM <DIR> ..
  0 File(s) 0 bytes
  2 Dir(s) 227,525,246,976 bytes free
Run Code Online (Sandbox Code Playgroud)

尝试找出设置的权限

  D:\>winutils.exe ls \tmp\hive
  FindFileOwnerAndPermission error (1789): The trust relationship between this workstation and the primary domain failed.
Run Code Online (Sandbox Code Playgroud)

当我尝试chmod这个文件夹时似乎工作

 winutils.exe chmod 777 \tmp\hive 
Run Code Online (Sandbox Code Playgroud)

但ls显示相同的例外

有谁知道发生了什么?此外,它几个小时前适用于我,但现在我的火花应用程序失败,但有一个例外

java.lang.RuntimeException: java.lang.RuntimeException: The root scratch dir: /tmp/hive on HDFS should be writable. Current permissions are: rw-rw-rw-
    at org.apache.hadoop.hive.ql.session.SessionState.start(SessionState.java:522)
Run Code Online (Sandbox Code Playgroud)

Mad*_*kar 5

我在这里已经很晚了仍然发布它,所以它可能会在将来对某人有所帮助。

  1. 设置权限时,请确保使用正确的 winutils.exe 路径(尝试使用完整路径)。对我来说 winutils.exe 在 C 驱动器中:

    C:\path\to\winutils.exe chmod -R 777 C:\tmp\hive

运行以下命令检查权限,它应该如下图所示([设置和检查权限:点击查看图像]):https : //i.stack.imgur.com/vE9vl.png

  1. 如果这是您的公司系统,您必须使用 VPN 或 Forti Client 或您的组织一直在使用的任何其他工具在同一网络上


小智 3

https://support.microsoft.com/en-us/kb/2771040

看起来像是域访问问题,请确保您可以访问域并重试。

确保域访问后,以下错误消失

Caused by: java.lang.RuntimeException: The root scratch dir: /tmp/hive on HDFS should be writable. Current permissions a
re: rw-rw-rw-
Run Code Online (Sandbox Code Playgroud)