当前位置:   article > 正文

CDH中如何升级Spark

cdh spark 3.0升级

公司平时使用的CDH版本的hadoop生态,spark任务是基于yarn来管理的,而不是基于原生的spark master slave集群管理。

因此任务的大致启动模式是:

如果是Cluster模式:
  1. A节点启动Spark-submit,这个程序即为client,client连接Resource Manager
  2. Resource Manager指定一个Node Manager创建AppMaster,这个AppMaster就是Driver
  3. AppMaster向Resource Manager申请资源创建Spark的Excutor
  4. Excutor向Driver(AppMaster)报告程序结果
如果是Client模式:
  1. A节点启动Spark-submit,这个程序就是client,此时直接创建Driver。
  2. 连接Resource Manager创建AppMaster
  3. Driver向AppMaster申请创建Excutor,AppMaster再跟Resource Manager申请资源创建Excutor
  4. Excutor向Driver(Client)报告程序结果

那么这种环境下如何升级Spark呢?

通过上面的过程分析,可以知道,Spark版本存在两个地方:一个是A节点提交Spark-submit的程序必须是2.3.0版本的;另一个是Yarn使用的lib必须是2.3.0版本的。

虽然暂时还屡不清楚来龙去脉,但是跟着过一遍吧!

第一步,在A节点下载spark2.3的jar

  1. [xxx@hnode10 app]$ ls -l
  2. total 628168
  3. drwxrwxr-x 6 hdfs hdfs 4096 Jan 9 10:35 akita
  4. -rw-r--r-- 1 hdfs hdfs 18573432 Jan 9 10:34 akita-release.tar.gz
  5. lrwxrwxrwx 1 hdfs hdfs 46 Jan 2 09:37 canal -> /var/lib/hadoop-hdfs/app/canal.deployer-1.0.25
  6. drwxrwxr-x 6 hdfs hdfs 4096 Jan 2 09:36 canal.deployer-1.0.25
  7. drwxrwxr-x 4 hdfs hdfs 4096 May 31 09:11 hadoop
  8. lrwxrwxrwx 1 root root 50 Jun 5 12:34 spark -> /var/lib/hadoop-hdfs/app/spark-2.2.0-bin-hadoop2.6
  9. drwxr-xr-x 14 hdfs hdfs 4096 Nov 9 2017 spark-2.1.1-bin-hadoop2.6
  10. -rw-r--r-- 1 hdfs hdfs 198804211 Oct 23 2017 spark-2.1.1-bin-hadoop2.6.tgz
  11. drwxr-xr-x 13 hdfs hdfs 4096 Jun 5 12:33 spark-2.2.0-bin-hadoop2.6
  12. -rw-rw-r-- 1 hdfs hdfs 201706782 Jul 11 2017 spark-2.2.0-bin-hadoop2.6.tgz
  13. drwxr-xr-x 13 hdfs hdfs 4096 Feb 23 03:46 spark-2.3.0-bin-hadoop2.6
  14. -rw-rw-r-- 1 hdfs hdfs 224121109 Feb 23 03:54 spark-2.3.0-bin-hadoop2.6.tgz
  15. lrwxrwxrwx 1 root root 25 Jun 6 09:04 spark23 -> spark-2.3.0-bin-hadoop2.6

第二步,修改配置文件和启动脚本

解压后,创建一个新的软连接 spark23到对应的目录:

ln -s /var/lib/hadoop-hdfs/app/spark-2.3.0-bin-hadoop2.6 spark23

然后配置对应的启动脚本:

  1. [xxx@hnode10 bin]$ ls -l
  2. total 9588
  3. -rwxr-xr-x 1 hdfs hdfs 2991 Oct 23 2017 spark2-shell
  4. -rwxr-xr-x 1 hdfs hdfs 1013 Oct 23 2017 spark2-submit
  5. -rwxr-xr-x 1 root root 2993 Jun 6 17:39 spark23-shell
  6. -rwxr-xr-x 1 root root 1015 Jun 6 17:41 spark23-submit

在spark23-submit中修改SPARK_HOME

  1. export SPARK2_HOME=/var/lib/hadoop-hdfs/app/spark23
  2. exec "${SPARK2_HOME}"/bin/spark-class org.apache.spark.deploy.SparkSubmit "$@"

在spark23-shell中修改SPARK_HOME

  1. cygwin=false
  2. case "$(uname)" in
  3. CYGWIN*) cygwin=true;;
  4. esac
  5. # Enter posix mode for bash
  6. set -o posix
  7. export SPARK2_HOME=/var/lib/hadoop-hdfs/app/spark23
  8. ....

修改Spark2.3中的配置文件spark-defaults.conf

  1. spark.yarn.jars hdfs://nameservice1/app/spark23/lib/*.jar
  2. spark.history.fs.logDirectory hdfs://nameservice1/user/spark/applicationHistory

其中spark.yarn.jars指定了yarn使用的spark jar包目录。

第三步,在hdfs中上传yarn使用的lib

449064-20180606184756266-479991649.jpg

最后,找一个hello world启动下试试吧~

转载于:https://www.cnblogs.com/xing901022/p/9146767.html

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/625448
推荐阅读
相关标签
  

闽ICP备14008679号