Spark 错误问题

2019-10-16  本文已影响0人  heichong

1. 在windows下启动spark程序,报错如下

java.io.IOException: (null) entry in command string: null chmod 0644 C:\Users\xxxx\AppData\Local\...

或者如下错误

java.io.IOException: Could not locate executable null\bin\winutils.exe in the Hadoop binaries.

解决方式:

2. spark程序提交到集群,报NoClassDefFoundError: scala/runtime/LambdaDeserialize错误

如果程序在集群运行时,报如下错误

Caused by: java.lang.NoClassDefFoundError: scala/runtime/LambdaDeserialize

基本上是由于集群的spark使用的scala版本与本地编译时使用的版本不一致导致的。
通过集群环境执行spark-shell,可以看到集群使用的scala版本为2.11.12

[hadoop@lfg01 ~]$ spark-shell
Using Spark's default log4j profile: org/apache/spark/log4j-defaults.properties
Setting default log level to "WARN".
To adjust logging level use sc.setLogLevel(newLevel). For SparkR, use setLogLevel(newLevel).
Spark context Web UI available at http://lfg01:4040
Spark context available as 'sc' (master = local[*], app id = local-1571298365414).
Spark session available as 'spark'.
Welcome to
      ____              __
     / __/__  ___ _____/ /__
    _\ \/ _ \/ _ `/ __/  '_/
   /___/ .__/\_,_/_/ /_/\_\   version 2.4.4
      /_/

Using Scala version 2.11.12 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_201)
Type in expressions to have them evaluated.
Type :help for more information.

scala>

所以,本地开发环境上,下载scala 2.11.12,修改idea的sdk为2.11.12,重新打包、上传即可。

上一篇 下一篇

猜你喜欢

热点阅读