運行spark報錯Error while instantiating 'org.apache.spark.sql.hive.HiveSessionState'

問題描述

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章