Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
HDFS上的root scratch dir:/tmp/hive应该是可写的。当前权限为:rw rw rw-(在Windows上)_Windows_Hdfs - Fatal编程技术网

HDFS上的root scratch dir:/tmp/hive应该是可写的。当前权限为:rw rw rw-(在Windows上)

HDFS上的root scratch dir:/tmp/hive应该是可写的。当前权限为:rw rw rw-(在Windows上),windows,hdfs,Windows,Hdfs,我正在Windows7上运行Spark。当我使用配置单元时,我看到以下错误 The root scratch dir: /tmp/hive on HDFS should be writable. Current permissions are: rw-rw-rw- 权限设置如下所示 C:\tmp>ls -la total 20 drwxr-xr-x 1 ADMIN Administ 0 Dec 10 13:06 . drwxr-xr-x 1 ADMIN Adm

我正在Windows7上运行Spark。当我使用配置单元时,我看到以下错误

The root scratch dir: /tmp/hive on HDFS should be writable. Current permissions are: rw-rw-rw- 
权限设置如下所示

C:\tmp>ls -la
total 20
drwxr-xr-x    1 ADMIN Administ        0 Dec 10 13:06 .
drwxr-xr-x    1 ADMIN Administ    28672 Dec 10 09:53 ..
drwxr-xr-x    2 ADMIN Administ        0 Dec 10 12:22 hive
我已经从Windows->properties->security->Advanced为所有用户设置了“完全控制”

但我仍然看到同样的错误。需要帮忙吗? 我检查了很多链接,有人说这是Spark 1.5上的一个bug。这是真的吗

谢谢
Aarthi

可以尝试为文件夹/tmp/hive授予777权限,因为我认为spark是以匿名用户的身份运行的(这将属于其他用户类别),此权限应该是递归的。 我在spark for hive的1.5.1版本中也遇到了同样的问题,它通过在linux上使用下面的命令授予777权限来工作

chmod -r 777 /tmp/hive

您需要设置此目录对HDFS的权限,而不是本地文件系统的权限
/tmp
并不意味着
C:\tmp
,除非您将core-site.xml中的
fs.defaultFs
设置为
file://C:///code>,这可能是个坏主意

使用

hdfs dfs -ls /tmp 
hdfs dfs -chmod 777 /tmp/hive
使用

hdfs dfs -ls /tmp 
hdfs dfs -chmod 777 /tmp/hive

同样,Spark Jira中也有一个bug。这在几天前就已经解决了。这里是链接


注释有所有选项,但没有保证的解决方案。

首先,确保您的操作系统使用了正确的Winutils。然后下一步是权限。
在Windows上,您需要在cmd上运行以下命令:

D:\winutils\bin\winutils.exe chmod 777 D:\tmp\hive

希望您有。

下一个解决方案适用于我的Windows:

  • 首先,我定义了HADOOP_HOME。对其进行了详细描述
  • 接下来,我确实喜欢Nishu Tayal,但有一点不同:
    C:\temp\hadoop\bin\winutils.exe chmod 777\tmp\hive

\tmp\hive
不是本地目录

首先检查您的计算机域。试一试

c:\work\hadoop-2.2\bin\winutils.exe ls c:/tmp/hive
如果此命令表示访问被拒绝或FindFileOwnerAndPermission错误(1789):此工作站与主域之间的信任关系失败

这意味着无法访问您的计算机域控制器,可能的原因是您与系统域控制器不在同一VPN上。请连接到VPN,然后重试


现在尝试Viktor或Nishu提供的解决方案。

在Windows上运行的VM上启动spark shell时出错: 错误消息:HDFS上的根暂存目录:/tmp/hive应该是可写的。拒绝许可

解决方案: /tmp/hive是临时目录。此文件夹中仅保留临时文件 地点。没有问题,即使我们删除此目录,将在 需要有适当的权限

步骤1)在hdfs中,删除/tmp/hive目录==>“hdfs dfs-rm-r/tmp/hive”

2) 同样在操作系统级别,删除dir/tmp/hive==>rm-rf/tmp/hive


在此之后,启动spark shell并正常工作。

问题在spark 2.0.2版(2016年11月14日)中得到解决。使用此版本。
2016年12月28日发布的2.1.0版也存在同样的问题。

主要原因是您在错误的目录下启动了spark。请在D://tmp/hive中创建文件夹(授予完全权限),并在D:drive中启动spark D:>火花壳


现在它可以工作了……)

我也面临这个问题。这个问题与网络有关。我使用特定域在Windows7上安装了spark

域名可以检查

开始->计算机->右键单击->属性->计算机名称, 域和工作组设置->单击更改->计算机名 (选项卡)->单击更改->域名

当我运行sparkshell命令时,它运行良好,没有任何错误

在其他网络中,我收到写入权限错误。
要避免此错误,请在上述路径中指定的域上运行spark命令。

使用最新版本的“winutils.exe”并重试

使用正确版本的winutils.exe为我做到了这一点。winutils应该来自Spark为之预先构建的Hadoop版本

将HADOOP_HOME环境变量设置为winutils.exe的bin位置。我已将winutils.exe与C:\Spark\bin文件一起存储。现在我的SPARK_HOME和HADOOP_HOME指向同一个位置
C:\SPARK


现在winultils已添加到路径,请使用
winutils.exe chmod 777 C:\tmp\hive

为配置单元文件夹授予权限这是一个简单的4步过程:

对于Spark 2.0+:

  • 下载适用于Windows/Winutils的Hadoop
  • 将此添加到代码中(SparkSession初始化之前):

  • 打开cmd.exe并运行:

    "path\to\hadoop-2.7.1\bin\winutils.exe" chmod 777 C:\Users\\Desktop\tmphive “路径\至\hadoop-2.7.1\bin\winutils.exe”chmod 777 C:\Users\\Desktop\t文件夹

  • 我收到了相同的错误“HDFS上的根暂存目录:/tmp/hive应该是可写的。Windows 7上当前的权限是:rw rw-”。以下是我为解决此问题所做的工作:

  • 我已经在C:\ProgramFiles(x86)上安装了Spark,它正在C:下寻找/tmp/hive,即C:\tmp\hive
  • 我从下载了WinUtils.exe。我选择的版本与安装Spark时为hadoop软件包选择的版本相同。i、 e.,hadoop-2.7.1 (您可以在bin文件夹下找到,即,)
  • 现在使用以下命令使c:\tmp\hive文件夹可写 winutils.exe chmod 777\tmp\hive

  • 注意:对于以前版本的winutils,chmod命令设置所需的权限时没有错误,但是spark仍然抱怨/tmp/hive文件夹不可写。

    您不必自己修复/tmp/hive目录的权限(如一些建议的答案)。winutils可以帮你做到这一点。从下载相应版本的winutils,并将其移动到spark的bin目录(e.x.C:\opt\spark\spark-2.2.0-bin-hadoop2.6\bin)。这将解决它。

    我在IDEA上运行spark测试,在我的情况下,问题是错误的
    winutils.exe
    version。我认为您需要将它与您的Hadoop版本相匹配。您可以找到
    winutils.exe

    谢谢。我试过了。没用。。做