Apache spark 如何将Spark升级到新版本?

Apache spark 如何将Spark升级到新版本?,apache-spark,Apache Spark,我有一个虚拟机,上面有Spark 1.3,但我想将其升级到Spark 1.5,主要是因为1.3中没有支持某些功能。我是否可以将Spark版本从1.3升级到1.5,如果可以,我该怎么做?预构建的Spark发行版,就像我相信您使用的版本一样,非常容易“升级”,因为Spark实际上并没有“安装”。实际上,你所要做的就是: 合适的Spark发行版(根据您的情况,为Hadoop 2.6及更高版本预先构建) 将tar文件解压到适当的目录中(即文件夹spark-1.3.1-bin-hadoop2.6已经存在

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

预构建的Spark发行版,就像我相信您使用的版本一样,非常容易“升级”,因为Spark实际上并没有“安装”。实际上,你所要做的就是:

  • 合适的Spark发行版(根据您的情况,为Hadoop 2.6及更高版本预先构建)
  • 将tar文件解压到适当的目录中(即文件夹
    spark-1.3.1-bin-hadoop2.6
    已经存在的位置)
  • 相应地更新您的
    SPARK\u 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
一起使用的确切镜像可能与我的镜像不同,具体取决于您的位置;选择要下载的软件包类型后,单击中的“下载火花”链接即可获得此信息

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\u HOME
(可能还有您正在使用的其他环境变量),以指向此新目录,而不是上一个目录

重新启动机器后,您应该完成此操作

请注意:

  • 只要所有相关的环境变量指向新的,就不需要删除以前的Spark分布。这样,您甚至可以在旧版本和新版本之间快速“来回”移动,以防您想要测试东西(即,您只需更改相关的环境变量)
  • sudo
    对我来说是必要的;根据您的设置,您可能不需要这样做
  • 确保一切正常后,最好删除下载的
    tgz
    文件
  • 您可以使用完全相同的步骤升级到Spark的未来版本,因为它们即将面世(相当快)。如果执行此操作,请确保先前的
    tgz
    文件已被删除,或者修改上面的
    tar
    命令以指向特定文件(即,如上所述的no
    *
    通配符)
  • 将您的
    SPARK\u HOME
    设置为
    /opt/SPARK
  • 最新的预构建二进制文件,即
    spark-2.2.1-bin-hadoop2.7.tgz
    ——可以使用
    wget
  • 创建最新下载的符号链接-
    ln-s/opt/spark-2.2.1/opt/spark
  • 相应地编辑
    $SPARK_HOME/conf
    中的文件

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

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

    但我无法保存当前正在运行的作业,比如Hadoop滚动升级,对吗?