如何将Spark升级到更新版本?

Jas*_*ald 9 apache-spark

我有一个虚拟机,Spark 1.3但我想升级它Spark 1.5主要是因为某些支持的功能不在1.3中.是否有可能将Spark版本升级1.31.5,如果是,那我该怎么做呢?

des*_*aut 16

预先构建的Spark发行版,就像我认为你基于另一个问题而使用的发行版一样,"升级"非常简单,因为Spark实际上并没有"安装".实际上,你所要做的就是:

  • 下载适当的Spark发行版(在您的情况下为Hadoop 2.6及更高版本预先构建)
  • 将tar文件解压缩到相应的目录中(iewhere文件夹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
Run Code Online (Sandbox Code Playgroud)

请注意,您应该使用的确切镜像wget可能与我的不同,具体取决于您的位置; 在选择要下载的软件包类型后,单击下载页面中的"下载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
Run Code Online (Sandbox Code Playgroud)

你现在可以看到你有一个新的文件夹spark-1.5.2-bin-hadoop2.6.

3)相应地更新SPARK_HOME(以及可能正在使用的其他环境变量)以指向此新目录而不是前一个目录.

在重新启动机器后,您应该完成.

请注意:

  1. 只要所有相关环境变量都指向新的变量,您就不需要删除以前的Spark分布.这样,您甚至可以快速在旧版本和新版本之间"来回",以防您想要测试(即您只需要更改相关的环境变量).
  2. sudo在我的情况下是必要的; 根据您的设置,您可能没有必要.
  3. 确保一切正常后,最好删除下载的tgz文件.
  4. 您可以使用完全相同的过程升级到Spark的未来版本,因为它们会出现(相当快).如果执行此操作,请确保tgz已删除以前的文件,或者修改tar上面的命令以指向特定文件(即*上面没有通配符).