1. 写在前面
最近学习搭建spark的集成开发环境,需要在Linux上安装Scala IDE eclipse, 参考的教材是《Hadoop+Spark大数据巨量分析与机器学习实战》,本来想跟着这上面的步骤走一遍,熟悉一下整体的处理流程,结果发现到了第10章安装集成开发环境的时候出了问题,原因是这本教材是3年之前的,用的Scala IDE是4.4.1, 而如今已经到了4.7.0, 这差别会有点大, 需要的是Scala版本,java版本都不太一样。 所以当我安装了最新版本的IDE之后,就出现了
查看错误提到的日志文件
这个错误一直困扰了我好几天, 直到今天终于解决。所以赶紧来记录一下。
2. 报错及解决方案
对于上面的这个报错, 是java版本不匹配的问题, 这里的java版本提示用的java11, 因为我的机子里面有java11和java8两个版本的, 而我配置的环境变量是openjdk-8, 而这里竟然用的还是11。所以这就是问题的根源了运行Scala eclipse的java版本过高, 与eclipse不兼容, 另外就是一般看到下面的这种各种类啊,包的Not Found错误,一般都是这种问题。所以, 我们需要把eclipse打开时使用的java版本换一下:
- 进入eclipse安装目录
- 打开eclipse.ini, 写入两行:
-vm /usr/lib/jvm/java-8-openjdk-amd64/bin/java
如图所示:
应该就能搞定了。 如果还不行的话, 那估计就是Scala的版本和最新版的IDE不兼容,这时候,也可以把版本降成4.4.1, 同样记录一下方法。
3. Scala使用之前的版本IDE
首先, 去http://scala-id.org/官网,下载最新版本的IDE(Linux版), 然后再去http://scala-ide.org/download/prev-stable.html下载之前的版本的一些配置文件,注意这里要和自己机子上的Scala版本对应起来。 下载解压之后,把plugins和features复制到eclipse目录,重启eclipse以后即可。
4. Linux java JDK环境的更新和安装
我的机器是Ubuntu20.X版本, 安装java环境,可以直接使用
# 更新所有软件版
sudo apt-get update
# 使用apt-get安装JDK, 这时候默认安装的最新版java JDK
sudo apt-get install default-jdk
java -version # 查看版本
update-alternatives --display Java # 查看安装路径
安装了JDK之后,要配置环境变量
sudo gedit ~/.bashrc
# 这里面加入
export Java_HOME=/usr/lib/jvm/Java-11-openjdk-amd64
export PATH=$PATH:$HADOOP_HOME/bin
# 环境变量生效
source ~/.bashrc
这样就完成了Java JDK的安装, But, 如果发现安装的java JDK11版本过高了, 需要降成8怎么办,需要这样:
# 查找java版本, 先看看有没有jdk8 如果没有的话只能单独去下载了, 我这里有
apt-cache search java | grep jdk
sudo apt-get install openjdk-8-jdk # 中间的数字就是版本
降下来之后,同样的查看安装路径。然后配置环境变量。 把上面的11改成8就OK了。
目前踩坑就到这里了。 下面就可以玩玩spark的集成开发了哈哈。 等把这本书撸完了,会统一整理一下Hadoop和spark实践方面的内容,包括搭建集群, spark的集成开发, spark环境下的机器学习。