问题描述
最近换了一台电脑,将原电脑的spark streaming代码考到了新电脑上,使用IDEA运行却报错了
Error while instantiating 'org.apache.spark.sql.hive.HiveSessionState'
The root scratch dir: /tmp/hive on HDFS should be writable
经检查发现是/tmp/hive这个文件夹权限不够
解决方法
- 首先确保电脑上有hadoop,且配置了HADOOP_HOME环境变量
- 确保有%HADOOP_HOME%\bin\winutils.exe,winutils.exe的获取方法可百度
- CMD中执行下列代码,其中F是我的代码运行目录
%HADOOP_HOME%\bin\winutils.exe ls F:\tmp\hive
%HADOOP_HOME%\bin\winutils.exe chmod 777 F:\tmp\hive
%HADOOP_HOME%\bin\winutils.exe ls F:\tmp\hive
修改完成后即可正常运行spark streaming