【发布时间】:2016-12-26 18:06:11
【问题描述】:
我在 MS Windows 10 64 位上运行一个 Spark Streaming 应用程序,它使用 spark-mongo-connector 在 MongoDB 中存储数据。
每当我运行 Spark 应用程序时,即使是 pyspark 我也会收到以下异常:
原因:java.lang.RuntimeException:HDFS 上的根暂存目录:/tmp/hive 应该是可写的。当前权限为:rw-rw-rw-
完整的堆栈跟踪:
Caused by: 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.createRootHDFSDir(SessionState.java:612)
at org.apache.hadoop.hive.ql.session.SessionState.createSessionDirs(SessionState.java:554)
at org.apache.hadoop.hive.ql.session.SessionState.start(SessionState.java:508)
... 32 more
我使用 Hadoop 3.0.0 alpha1,我自己在本地安装,HADOOP_HOME 环境变量指向 Hadoop 目录的路径,%HADOOP_HOME%\bin 在PATH 环境变量中。
所以我尝试执行以下操作:
> hdfs dfs -ls /tmp
Found 1 items
drw-rw-rw- - 0 2016-12-26 16:08 /tmp/hive
我尝试更改权限如下:
hdfs dfs -chmod 777 /tmp/hive
但是这个命令输出:
警告 util.NativeCodeLoader:无法为您的平台加载 native-hadoop 库...在适用的情况下使用内置 java 类
我的操作系统似乎缺少 Hadoop 的本机库,在查找后似乎我需要重新编译 64 位平台的 libhadoop.so.1.0.0。
在哪里可以找到适用于 Windows 10 64 位的本机库? 还是有另一种解决方法?来自图书馆?
【问题讨论】:
标签: windows hadoop apache-spark pyspark