問題描述
最近換了一臺電腦,將原電腦的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