我有一个虚拟机,其上有Spark 1.3
但我想将其升级到Spark 1.5
,主要是因为某些支持的功能不在1.3中。我是否可以将Spark
版本从1.3
升级到1.5
,如果是,那我该怎么办呢?
答案 0 :(得分:15)
预构建的Spark发行版,就像我认为你基于another question of yours使用的发行版一样,“升级”非常简单,因为Spark实际上并未“安装”。实际上,你所要做的就是:
spark-1.3.1-bin-hadoop2.6
已经存在)SPARK_HOME
(可能还有一些其他环境变量,具体取决于您的设置)这就是我自己做的,从1.3.1到1.5.2,在类似于你的设置(运行Ubuntu的vagrant VM)中:
1)将tar文件下载到相应的目录
中vagrant@sparkvm2:~$ cd $SPARK_HOME
vagrant@sparkvm2:/usr/local/bin/spark-1.3.1-bin-hadoop2.6$ cd ..
vagrant@sparkvm2:/usr/local/bin$ ls
ipcluster ipcontroller2 iptest ipython2 spark-1.3.1-bin-hadoop2.6
ipcluster2 ipengine iptest2 jsonschema
ipcontroller ipengine2 ipython pygmentize
vagrant@sparkvm2:/usr/local/bin$ sudo wget http://apache.tsl.gr/spark/spark-1.5.2/spark-1.5.2-bin-hadoop2.6.tgz
[...]
vagrant@sparkvm2:/usr/local/bin$ ls
ipcluster ipcontroller2 iptest ipython2 spark-1.3.1-bin-hadoop2.6
ipcluster2 ipengine iptest2 jsonschema spark-1.5.2-bin-hadoop2.6.tgz
ipcontroller ipengine2 ipython pygmentize
请注意,您应该使用wget
的确切镜像可能与我的不同,具体取决于您的位置;在选择要下载的软件包类型后,单击download page中的“下载Spark”链接即可获得此信息。
2)用
解压缩tgz
文件
vagrant@sparkvm2:/usr/local/bin$ sudo tar -xzf spark-1.*.tgz
vagrant@sparkvm2:/usr/local/bin$ ls
ipcluster ipcontroller2 iptest ipython2 spark-1.3.1-bin-hadoop2.6
ipcluster2 ipengine iptest2 jsonschema spark-1.5.2-bin-hadoop2.6
ipcontroller ipengine2 ipython pygmentize spark-1.5.2-bin-hadoop2.6.tgz
您可以看到现在有了一个新文件夹spark-1.5.2-bin-hadoop2.6
。
3)相应地更新SPARK_HOME
(以及可能正在使用的其他环境变量)以指向此新目录而不是前一个目录。
重新启动机器后,您应该完成。
请注意:
sudo
是必要的;根据您的设置,您可能没有必要。tgz
文件。tgz
文件已被删除,或者修改上面的tar
命令以指向特定文件(即上面没有*
通配符)。< / LI>
醇>
答案 1 :(得分:2)
SPARK_HOME
设为/opt/spark
spark-2.2.1-bin-hadoop2.7.tgz
- 可以使用wget
ln -s /opt/spark-2.2.1 /opt/spark
对于您下载的每个新版本,只需为其创建符号链接(步骤3)
ln -s /opt/spark-x.x.x /opt/spark