本文介绍centos7中spark安装配置以及一些个人发现的问题。
1、Spark2.4.0安装配置
这里推荐一篇专业文章:
http://dblab.xmu.edu.cn/blog/2501-2/#more-2501
按照所述步骤即可完成。
注意:
- 安装所需的hadoop配置安装可见我的另一篇博文:https://blog.csdn.net/qq_43175022/article/details/105106505,里面有我安装是发现的很多问题及解决方法,希望能帮助你。
- jdk配置因为个人安装版本以及使用终端的不同,配置参数也会不同。如果你使用的centos选择安装了jdk并且终端切换为了zsh,可以参考我的另一篇文章:https://blog.csdn.net/qq_43175022/article/details/105062508
如果没有切换zsh,把需要打开的配置文件换成bashrc即可。生效也是。 - 安装sbt时,命令需要根据自己下载的版本修改,个人下载的是1.3.10版本,即把1.3.8换成1.3.10即可
- 在安装sbt步骤时,需要额外配置环境变量:
A、打开profile文件:
B、添加环境变量:sudo vim /etc/profile
在文件最后添加以下三句,保存退出即可
C、生效:#SBT_HOME export SBT_HOME=/usr/local/sbt export PATH=$SBT_HOME/bin:$PATH
source /etc/profile
- 官网上已经没有了spark2.4.0源文件的下载方式了,替换为了使用scala2.12的spark2.4.5,我们可以使用这个网址下载:http://archive.apache.org/dist/spark/spark-2.4.0/
这个网址下载我们同样选用使用自己安装hadoop的spark安装包,即: spark-2.4.0-bin-without-hadoop.tgz ;同时下载是最好使用梯子下载,否则下载会十分缓慢,还大可能失败。我也在阿里云库里查找过,发现它并不提供,所以只能在这下载。
2、遇到的问题
1、在安装sbt时,在最后一步./sbt sbtVersion时,原文也提示了会很坎坷,根据我的经验第一次几乎是必然失败的。我们也可以先等待半小时再下结论,如果半小时还是没有出现下载的进度条输出信息,我们就可以按ctrl+c退出下载,然后重启机器。(一定要ctrl+c退出后再重启,否则再次执行时可能会出现死锁)
-
机器重启后,打开文件管理器,在主目录下应该多了以下两个目录:
(如果没有也没事,我们新建一个.sbt目录,然后再次执行一次./sbt sbtVersion,然后退出重启即可) -
新打开一个终端,进入./.sbt目录:
cd ./.sbt
新建一个repositories文件(用于覆盖sbt的镜像源)
sudo vim repositories
添加以下字段:
[repositories] local huaweicloud-maven: https://repo.huaweicloud.com/repository/maven/ maven-central: https://repo1.maven.org/maven2/ sbt-plugin-repo: https://repo.scala-sbt.org/scalasbt/sbt-plugin-releases, [organization]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/[artifact](-[classifier]).[ext]
保存退出后,再次重启机器。
以上参考自:https://blog.csdn.net/binbinczsohu/article/details/105289456 -
重启后,继续sbt的最后一步,进入sbt目录后继续./sbt sbtVersion目录。这次的这个输出应该会很快进入下载进度条。如果下载的进度条卡在一个文件下载很久,可以按ctrl+c尝试退出,然后会出现一行提示字段,我们输入r回车,表示重试即可又开始进行下载。
2、在使用maven打Java程序时,第一次使用会下载依赖包,此时会和上一步一样卡住,这是也需要我们替换下载源:
-
我们在文件管理器,在此路径下:/usr/local/maven/conf下(即maven安装路径/conf)找到settings.xml,打开找到字段,在此字段下添加:
<!-- 阿里云仓库 --> <mirror> <id>alimaven</id> <mirrorOf>central</mirrorOf> <name>aliyun maven</name> <url>https://maven.aliyun.com/nexus/content/repositories/central/</url> </mirror> <!-- 中央仓库1 --> <mirror> <id>repo1</id> <mirrorOf>central</mirrorOf> <name>Human Readable Name for this Mirror.</name> <url>http://repo1.maven.org/maven2/</url> </mirror> <!-- 中央仓库2 --> <mirror> <id>repo2</id> <mirrorOf>central</mirrorOf> <name>Human Readable Name for this Mirror.</name> <url>http://repo2.maven.org/maven2/</url> </mirror>
保存退出即可。
-
我们在项目的pom.xml文件中,也需要更改:
在已经完成了blog关于pom.xml文件的配置后,我们还需要自己更改:
A、重新打开pom.xml:cd ~/sparkapp2 vim pom.xml
B、先把到字段中的所有内容删除。
C、在到字段内添加以下字段:<repositories> <repository> <id>central</id> <url>http://host:port/content/groups/public</url> </repository> </repositories> <pluginRepositories> <pluginRepository> <id>central</id> <url>http://host:port/content/groups/public</url> </pluginRepository> </pluginRepositories>
-
重启终端,继续/usr/local/maven/bin/mvn package命令即可。和第一个问题一样,如果下载的进度条卡在一个文件下载很久,可以按ctrl+c退出(这次不是尝试了,没有提示字段,会直接退出),然后重新输入/usr/local/maven/bin/mvn package命令,终端会在刚才退出下载的地方继续开始下载,而不是重新开始,这样很快就会继续完成命令。