CDH中如何升级Spark
公司平时使用的CDH版本的hadoop生态,spark任务是基于yarn来管理的,而不是基于原生的spark master slave集群管理。
因此任务的大致启动模式是:
如果是Cluster模式:
- A节点启动Spark-submit,这个程序即为client,client连接Resource Manager
- Resource Manager指定一个Node Manager创建AppMaster,这个AppMaster就是Driver
- AppMaster向Resource Manager申请资源创建Spark的Excutor
- Excutor向Driver(AppMaster)报告程序结果
如果是Client模式:
- A节点启动Spark-submit,这个程序就是client,此时直接创建Driver。
- 连接Resource Manager创建AppMaster
- Driver向AppMaster申请创建Excutor,AppMaster再跟Resource Manager申请资源创建Excutor
- Excutor向Driver(Client)报告程序结果
那么这种环境下如何升级Spark呢?
通过上面的过程分析,可以知道,Spark版本存在两个地方:一个是A节点提交Spark-submit的程序必须是2.3.0版本的;另一个是Yarn使用的lib必须是2.3.0版本的。
虽然暂时还屡不清楚来龙去脉,但是跟着过一遍吧!
第一步,在A节点下载spark2.3的jar
[xxx@hnode10 app]$ ls -l
total 628168
drwxrwxr-x 6 hdfs hdfs 4096 Jan 9 10:35 akita
-rw-r--r-- 1 hdfs hdfs 18573432 Jan 9 10:34 akita-release.tar.gz
lrwxrwxrwx 1 hdfs hdfs 46 Jan 2 09:37 canal -> /var/lib/hadoop-hdfs/app/canal.deployer-1.0.25
drwxrwxr-x 6 hdfs hdfs 4096 Jan 2 09:36 canal.deployer-1.0.25
drwxrwxr-x 4 hdfs hdfs 4096 May 31 09:11 hadoop
lrwxrwxrwx 1 root root 50 Jun 5 12:34 spark -> /var/lib/hadoop-hdfs/app/spark-2.2.0-bin-hadoop2.6
drwxr-xr-x 14 hdfs hdfs 4096 Nov 9 2017 spark-2.1.1-bin-hadoop2.6
-rw-r--r-- 1 hdfs hdfs 198804211 Oct 23 2017 spark-2.1.1-bin-hadoop2.6.tgz
drwxr-xr-x 13 hdfs hdfs 4096 Jun 5 12:33 spark-2.2.0-bin-hadoop2.6
-rw-rw-r-- 1 hdfs hdfs 201706782 Jul 11 2017 spark-2.2.0-bin-hadoop2.6.tgz
drwxr-xr-x 13 hdfs hdfs 4096 Feb 23 03:46 spark-2.3.0-bin-hadoop2.6
-rw-rw-r-- 1 hdfs hdfs 224121109 Feb 23 03:54 spark-2.3.0-bin-hadoop2.6.tgz
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
然后配置对应的启动脚本:
[xxx@hnode10 bin]$ ls -l
total 9588
-rwxr-xr-x 1 hdfs hdfs 2991 Oct 23 2017 spark2-shell
-rwxr-xr-x 1 hdfs hdfs 1013 Oct 23 2017 spark2-submit
-rwxr-xr-x 1 root root 2993 Jun 6 17:39 spark23-shell
-rwxr-xr-x 1 root root 1015 Jun 6 17:41 spark23-submit
在spark23-submit中修改SPARK_HOME
export SPARK2_HOME=/var/lib/hadoop-hdfs/app/spark23
exec "${SPARK2_HOME}"/bin/spark-class org.apache.spark.deploy.SparkSubmit "$@"
在spark23-shell中修改SPARK_HOME
cygwin=false
case "$(uname)" in
CYGWIN*) cygwin=true;;
esac
# Enter posix mode for bash
set -o posix
export SPARK2_HOME=/var/lib/hadoop-hdfs/app/spark23
....
修改Spark2.3中的配置文件spark-defaults.conf
spark.yarn.jars hdfs://nameservice1/app/spark23/lib/*.jar
spark.history.fs.logDirectory hdfs://nameservice1/user/spark/applicationHistory
其中spark.yarn.jars指定了yarn使用的spark jar包目录。
第三步,在hdfs中上传yarn使用的lib

最后,找一个hello world启动下试试吧~
CDH中如何升级Spark的更多相关文章
- 关于CDH中开发Spark
文章发自http://www.cnblogs.com/hark0623/p/4167363.html 转发请注明 注意:基于CDH进行Spark开发时,使用高版本的apache原生包即可:不需要使用C ...
- CentOS7安装CDH 第十章:CDH中安装Spark2
相关文章链接 CentOS7安装CDH 第一章:CentOS7系统安装 CentOS7安装CDH 第二章:CentOS7各个软件安装和启动 CentOS7安装CDH 第三章:CDH中的问题和解决方法 ...
- geotrellis使用(二十四)将Geotrellis移植到CDH中必须要填的若干个坑
目录 前言 若干坑 总结 一.前言 近期干了一件事情,将geotrellis程序移植到CDH中(关于CDH,可以参考安装ClouderaManager以及使用ClouderaManage ...
- cdh环境下,spark streaming与flume的集成问题总结
文章发自:http://www.cnblogs.com/hark0623/p/4170156.html 转发请注明 如何做集成,其实特别简单,网上其实就是教程. http://blog.csdn.n ...
- Apache Spark 2.2.0 中文文档 - Spark Streaming 编程指南 | ApacheCN
Spark Streaming 编程指南 概述 一个入门示例 基础概念 依赖 初始化 StreamingContext Discretized Streams (DStreams)(离散化流) Inp ...
- Apache Spark 2.2.0 中文文档 - Spark SQL, DataFrames and Datasets Guide | ApacheCN
Spark SQL, DataFrames and Datasets Guide Overview SQL Datasets and DataFrames 开始入门 起始点: SparkSession ...
- 某人在企业中遇到的Spark问题记录[持续更新]
https://github.com/ssg-7max/ssg 目前 ssg内公司内部 spark streaming 处理数据源是kafka 目前遇到最大的问题是,会延迟,例如我们配置1分钟让窗口计 ...
- CentOS7安装CDH 第九章:CDH中安装Kafka
相关文章链接 CentOS7安装CDH 第一章:CentOS7系统安装 CentOS7安装CDH 第二章:CentOS7各个软件安装和启动 CentOS7安装CDH 第三章:CDH中的问题和解决方法 ...
- CentOS7安装CDH 第八章:CDH中对服务和机器的添加与删除操作
相关文章链接 CentOS7安装CDH 第一章:CentOS7系统安装 CentOS7安装CDH 第二章:CentOS7各个软件安装和启动 CentOS7安装CDH 第三章:CDH中的问题和解决方法 ...
随机推荐
- springMVC学习 七 视图解析器
在springMVC中,如果不配置视图解析器,会走默认的视图解析器,但是有时候配置视图解析器,还有一定的作用 <bean id="viewResolver" class=&q ...
- regular exception
RegexBuddy :正则表达式编辑器. 正则表达式:通过特定的规则,选取特定的字符串. ^ 为匹配输入字符串的开始位置.$ 为匹配输入字符串的结束位置. \d匹配[0-9] \w匹配[A-Z a- ...
- syslog系统日志、Windows事件日志监控
- unity技巧
在之前的程序编写过程中,虽然对相关的方法进行了实例化,但是在运行的时候总是会出现“未将对象引用设置到对象的实例”,出现该种问题的原因是由于在实例化后,没有对实例化进行引用赋值,所以导致相关变量无法在其 ...
- js-day02
1.数据类型转换2.函数3.分支结构*******************************1.数据类型转换 数据类型:number,string,boolean,null,undefined ...
- latex字体颜色
具体的如下:\usepackage{color} 1. {\color{red} 文本} 2. \textcolor[rgb]{1,0,0}{文本} 颜色参数范围为[0,1]
- Mybatis-Plus 实战完整学习笔记(一)------简介
第一章 简介 1. 什么是MybatisPlus MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只 ...
- Node的关系型数据库ORM库:bookshelf
NodeJs 关系数据库ORM库:Bookshelf.js bookshelf.js是基于knex的一个关系型数据库的ORM库.简单易用,内置了Promise的支持.这里主要罗列一些使用的例子,例子就 ...
- 把sublime text打造成python交互终端(windows和Ubuntu)
作者:tongqingliu 转载请注明出处:http://www.cnblogs.com/liutongqing/p/7015958.html 把sublime text打造成python交互终端 ...
- webService之helloword(web)
spring 整合webservice pom.xml文件 <dependencies> <!-- CXF WS开发 --> <dependency> <gr ...