【问题标题】:How to upgrade Spark to newer version?如何将 Spark 升级到新版本?
【发布时间】:2016-02-26 12:21:06
【问题描述】:

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

【问题讨论】:

    标签: apache-spark


    【解决方案1】:

    预构建的 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 的流浪虚拟机):

    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. sudo 在我的情况下是必要的;根据您的设置,您可能不需要它。
    3. 确保一切正常后,最好删除下载的tgz 文件。
    4. 您可以使用完全相同的过程升级到 Spark 的未来版本,因为它们即将推出(相当快)。如果这样做,请确保之前的 tgz 文件已被删除,或者修改上面的 tar 命令以指向特定文件(即没有上面的 * 通配符)。

    【讨论】:

    • 但是我无法保存当前正在运行的作业,比如 Hadoop 滚动升级,对吧?
    【解决方案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. 相应地编辑$SPARK_HOME/conf中的文件

    对于您下载的每个新版本,只需为其创建符号链接(步骤 3)

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

    【讨论】:

      猜你喜欢
      • 2015-08-13
      • 2017-04-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多