【问题标题】:winutils.exe chmod command doesn't set permissionwinutils.exe chmod 命令未设置权限
【发布时间】:2016-06-13 17:41:56
【问题描述】:
> D:\>echo %HADOOP_HOME% 
> D:\Apps\winutils\hadoop-2.7.1

在与 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

尝试弄清楚设置了哪些权限

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

当我为这个文件夹尝试 chmod 时,它似乎有效

 winutils.exe chmod 777 \tmp\hive 

但 ls 显示相同的异常

有人知道发生了什么吗?此外,它在几个小时前对我有用,但现在我的 spark 应用程序失败并出现异常

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)

【问题讨论】:

  • 似乎问题以某种方式与域名有关,因为当我使用 VPN 时问题消失了
  • 听起来很清楚。工作站应该是域的成员,但已失去连接。据推测,它需要 VPN 才能与域控制器通信。域 SID 和用户名之间的映射存储在域控制器上,因此如果您没有良好的连接,ls 将无法查找用户名。
  • 您仍然可以使用icacls等Windows工具查看和修改权限。

标签: windows hadoop apache-spark hive


【解决方案1】:

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

  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 客户端或您的组织一直在使用的任何其他工具在同一网络上

【讨论】:

  • 太棒了,感谢您的 VPN 提示!无论如何,为什么我需要在 VPN 上才能工作?
【解决方案2】:

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-

【讨论】:

  • 如何修复访问域?我在这里面临同样的问题!
  • 我也很感兴趣。不确定如何确保或检查我可以访问域
  • 我找到了一个解决方案:我使用局域网电缆连接到公司网络。我拔了电缆,连接到 wifi,然后它就可以工作了。
【解决方案3】:

我来晚了,我刚刚遇到了这个问题。写这篇文章是为了帮助别人。

如果您使用的是办公室笔记本电脑,请确保您已连接到办公室网络并重试。域设置的域成员指向您的办公网络。那一定能解决问题。

  1. 使用本地管理员帐户登录 Windows 10
  2. 按住 Windows 徽标并按 E 打开文件资源管理器 3.在文件资源管理器的右侧右键单击此电脑并选择属性单击高级系统设置
  3. 选择计算机名称选项卡并选择更改以查看配置的值。

【讨论】:

    【解决方案4】:

    我是这里的新手,所以可能是错误的,但我认为您需要在命令中添加-R,如下所示:

    winutils chmod -R 777 \tmp\hive
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-11-04
      • 1970-01-01
      • 2014-11-15
      • 1970-01-01
      • 2013-07-11
      • 2013-11-30
      • 2011-03-06
      相关资源
      最近更新 更多