歡呼一下先。軟件環境菜鳥的我終於把單機Spark 和 Pyspark 安裝成功了。加油加油!!!
1. 安裝方法參考:
已安裝Pycharm 和 Intellij IDEA。
win7 PySpark 安裝:
http://blog.csdn.net/a819825294/article/details/51782773
win7 Spark安裝:
http://blog.csdn.net/a819825294/article/details/51627083
2. 遇到的那些問題:
1) Scala 需要安裝兩次:
Scala 本地安裝,然后配置環境。在cmd 輸入 scala 驗證是否成功。
Intellij IDEA 安裝scala插件。
2) 提示 no Module SDK for Scala
no Module SDK for Scala (in IntelliJ Idea)
方案:點擊該提示,選擇download SDK 添加即可。
3)
15/05/27 11:20:53 INFO SecurityManager: SecurityManager: authentication disabled; ui acls disabled; users with view permissions: Set(lenovo); users with modify permissions: Set(lenovo) Exception in thread "main" java.lang.NoSuchMethodError: scala.collection.immutable.HashSet$.empty()Lscala/collection/immutable/HashSet;
Scala 和 Spark BAN版本不兼容的問題。
方案:重新下載安裝Scala.
4)
Exception in thread "main" java.lang.ClassNotFoundException: WordCount at java.net.URLClassLoader$1.run(URLClassLoader.java:366) at java.net.URLClassLoader$1.run(URLClassLoader.java:355) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:354) at java.lang.ClassLoader.loadClass(ClassLoader.java:425) at java.lang.ClassLoader.loadClass(ClassLoader.java:358) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:270) at org.apache.spark.deploy.SparkSubmit$.launch(SparkSubmit.scala:289) at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:55) at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)
方案: 確認一下路徑是否正確,以及類的大小寫是否有誤。
5)
14/07/02 19:59:31 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable 14/07/02 19:59:31 ERROR Shell: Failed to locate the winutils binary in the hadoop binary path java.io.IOException: Could not locate executable null\bin\winutils.exe in the Hadoop binaries. at org.apache.hadoop.util.Shell.getQualifiedBinPath(Shell.java:318) at org.apache.hadoop.util.Shell.getWinUtilsPath(Shell.java:333) at org.apache.hadoop.util.Shell.<clinit>(Shell.java:326) at org.apache.hadoop.util.StringUtils.<clinit>(StringUtils.java:76) at org.apache.hadoop.security.Groups.parseStaticMapping(Groups.java:93) at org.apache.hadoop.security.Groups.<init>(Groups.java:77) at org.apache.hadoop.security.Groups.getUserToGroupsMappingService(Groups.java:240) at org.apache.hadoop.security.UserGroupInformation.initialize(UserGroupInformation.java:255) at org.apache.hadoop.security.UserGroupInformation.setConfiguration(UserGroupInformation.java:283) at org.apache.spark.deploy.SparkHadoopUtil.<init>(SparkHadoopUtil.scala:36) at org.apache.spark.deploy.SparkHadoopUtil$.<init>(SparkHadoopUtil.scala:109) at org.apache.spark.deploy.SparkHadoopUtil$.<clinit>(SparkHadoopUtil.scala) at org.apache.spark.SparkContext.<init>(SparkContext.scala:228) at org.apache.spark.SparkContext.<init>(SparkContext.scala:97)
方案:
下載 winutils.exe 文件,然后設置環境變量
intellij IDEA 版 Scala:
System.setProperty("hadoop.home.dir","E:\\zhuangji\\winutil\\")
Pycharm 版Python:
import os os.environ["HADOOP_HOME"]="E:\\zhuangji\\winutil\\"
當然也可以在計算機---〉右鍵屬性--〉環境變量。。。
但是不知道即使重啟了計算機還是依然報錯。最后在代碼中設置環境變量,問題解決。
6)按照3的步驟重新安裝后還是同樣的錯誤。
檢查后發現,Intellij IDEA的library中出現多個版本的Scala, 顯然新安裝的Scala 並未取代舊的Scala.
需要刪除舊的scala。