sparkpy 坚持 HDFS 上的 root scratch dir: /tmp/hive 应该是可写的

Posted

技术标签:

【中文标题】sparkpy 坚持 HDFS 上的 root scratch dir: /tmp/hive 应该是可写的【英文标题】:sparkpy insists that root scratch dir: /tmp/hive on HDFS should be writable 【发布时间】:2019-07-12 04:17:45 【问题描述】:

我正在尝试运行一个访问 hive 服务器的 pyspark 程序。程序通过抛出错误终止

pyspark.sql.utils.AnalysisException: 'java.lang.RuntimeException: java.lang.RuntimeException: The root scratch dir: /tmp/hive on HDFS should be writable. Current permissions are: rwxrwxr-x;

现在,The root scratch dir: /tmp/hive on HDFS should be writable. Current permissions are: -wx------ 建议我将其更改为 777。我做到了。

drwxrwxrwx - hadoopuser supergroup 0 2019-07-03 06:39 /tmp/hive

但是,pyspark 仍然会抛出相同的错误。

因此,我决定将暂存目录文件夹更改为 /tmp/sparkpy。我在 hive-site.xml 注册了此更改

我重新启动了 hiveserver2,Beeline 确认更改已注册。

+------------------------------------+
|                set                 |
+------------------------------------+
| hive.exec.scratchdir=/tmp/sparkpy  |
+------------------------------------+
1 row selected (0.028 seconds)

但是,pyspark 仍然停留在 /tmp/hive 并坚持认为它不可写。

【问题讨论】:

【参考方案1】:

我也面临同样的问题。最后,我得到了答案 /tmp/hive location is present in your local system。

sudo chmod -R 777 /tmp

上面的命令为我解决了问题。

【讨论】:

以上是关于sparkpy 坚持 HDFS 上的 root scratch dir: /tmp/hive 应该是可写的的主要内容,如果未能解决你的问题,请参考以下文章

HBase在HDFS上的目录介绍

HBase在HDFS上的目录树

上传到HDFS上的文件遇到乱码问题

在eclipse上的hdfs的文件操作

如何判断hdfs(hadoop)上的路径是文件还是目录。

NFS 代替 HDFS