我在MS Windows 10 64位上运行Spark Streaming应用程序,该应用程序使用spark-mongo-connector将数据存储在MongoDB中。如何在Windows 10上运行Spark Streaming应用程序?
每当我跑星火应用,甚至pyspark
我得到以下异常:
引起:了java.lang.RuntimeException:根目录划伤:HDFS上的/ tmp /蜂巢应该是可写的。当前的权限是: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α1,我自己安装与本地环境HADOOP_HOME
变量指向路径Hadoop dir和%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
,但该命令的输出:
WARN util.NativeCodeLoader :无法为您的平台加载native-hadoop库...在适用的情况下使用内建java类
我似乎错过了我的操作系统的Hadoop本地库,查看后它也出现我需要重新编译为64位平台的libhadoop.so.1.0.0
。
在哪里可以找到适用于Windows 10 64位的本机库? 还有解决这个问题的另一种方法吗?从图书馆接受?
如果你拥有了它,请确保您定义的'控制面板中HADOOP_HOME'和'PATH'环境变量,所以当你执行你的星火流媒体应用,星火会用'winutils.exe'为自己低级别的东西。 –
实际上,事实上确实改变了权限,但spark仍然显示相同异常的输出 – MrRobot
如何运行Spark应用程序?在启动Spark应用程序到异常之后,能否从一开始就粘贴整个输出?使用gist.github.com粘贴整个输出(或者将它粘贴到你的问题上,如果够短的话)。 –