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

时间:2015-11-24 06:56:00

标签: apache-spark

我有一个虚拟机,其上有Spark 1.3但我想将其升级到Spark 1.5,主要是因为某些支持的功能不在1.3中。我是否可以将Spark版本从1.3升级到1.5,如果是,那我该怎么办呢?

2 个答案:

答案 0 :(得分:15)

预构建的Spark发行版,就像我认为你基于another question of yours使用的发行版一样,“升级”非常简单,因为Spark实际上并未“安装”。实际上,你所要做的就是:

  • Download相应的Spark发行版(根据您的情况预先为Hadoop 2.6及更高版本构建)
  • 将tar文件解压缩到相应的目录中(即文件夹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(以及可能正在使用的其他环境变量)以指向此新目录而不是前一个目录。

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

请注意:

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

答案 1 :(得分:2)

  1. SPARK_HOME设为/opt/spark
  2. Download最新的预建二进制文件spark-2.2.1-bin-hadoop2.7.tgz - 可以使用wget
  3. 创建符号链接到最新下载 - ln -s /opt/spark-2.2.1 /opt/spark
  4. 对于您下载的每个新版本,只需为其创建符号链接(步骤3)

    • ln -s /opt/spark-x.x.x /opt/spark