CDH5.12.1添加spark2.2.0服务

最新的CDH安装包中spark版本为1.6,不过对于勇于尝鲜的同学,官方也提供了spark2的升级包,在CDH中spark1和spark2可以共存,但是由于scala版本的兼容性问题,建议只装一个版本。
由于spark依赖于scala所以需要在每个节点安装scala,并配置好SCALA_HOME并将$SCALA_HOME/bin加入PATH中。Scala可以在官网下载,版本选择2.11.x
安装spark需要四个文件:
SPARK2_ON_YARN-2.2.0.cloudera1.jar
下载地址:http://archive.cloudera.com/spark2/csd/SPARK2\_ON\_YARN-2.2.0.cloudera1.jar
SPARK2-2.2.0.cloudera1-1.cdh5.12.0.p0.142354-xenial.parcel
下载地址:http://archive.cloudera.com/spark2/parcels/2.2.0.cloudera1/SPARK2-2.2.0.cloudera1-1.cdh5.12.0.p0.142354-xenial.parcel
SPARK2-2.2.0.cloudera1-1.cdh5.12.0.p0.142354-xenial.parcel.sha1
下载地址:http://archive.cloudera.com/spark2/parcels/2.2.0.cloudera1/SPARK2-2.2.0.cloudera1-1.cdh5.12.0.p0.142354-xenial.parcel.sha1
manifest.json
下载地址:http://archive.cloudera.com/spark2/parcels/2.2.0.cloudera1/manifest.json
需要注意各个文件的版本必须保持一致。
以下操作在每个节点执行:
创建/opt/cloudera/csd目录,将SPARK2_ON_YARN-2.2.0.cloudera1.jar复制到该目录下。
修改所属用户:
chown cloudera-scmSPARK2_ON_YARN-2.2.0.cloudera1.jar
在master节点:
将/opt/cloudera/parcel-repo目录下的manifest.json重命名,复制前面下载的parcel包,sha文件和manifest.json到/opt/cloudera/parcel-repo目录下。
关闭CDH集群,重启cm server和cm agent,启动CDH集群。
然后点击主机->Parcel页面,看是否多了个spark2的选项。如下图,你这里此时应该是分配按钮,点击,等待操作完成后,点击激活按钮。
激活后,点击你的群集->添加服务,添加spark2服务。注意,如果你这里看不到spark2服务,就请检查你的CSD包和parcel包是否对应,上面的步骤是否有漏掉。正常情况下,应该是能用了。
到此spark2安装完毕,如果需要直接在集群使用spark-shell或者spark-submit,会发现出错,spark2对应的脚本应该是spark2-shell和spark2-submit;
 
spark2安装完毕后,还有一些后续工作,因为hue中无法使用spark,如果需要在hue中使用sparknotebook需要完成三件事情:
1、  配置hue notebook,参考:https://blogs.msdn.microsoft.com/pliu/2016/06/18/run-hue-spark-notebook-on-cloudera/
2、  安装livy server,下载地址:http://archive.cloudera.com/beta/livy/livy-server-0.3.0.ziplivy server只需下载、解压、配置、启动即可。配置主要配置SPAKR_HOME、HADOOP_CONF_DIR。需要注意的是livy server 默认为local模式运行spark,如果以livy提交spark作业在spark-env.sh或spark-default.conf中指定spark.master不起作用。需要在livy的配置文件中指定。
3、  如果需要用spark读取hive中的数据,需要自己手动将hive-site.xml复制到/etc/spark2/conf目录下。

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

2020年前端实用代码段,为你的工作保驾护航

有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )

Scala快速入门系列

写在前面的话因为Spark是由Scala开发的,所以在开发Spark应用程序之前要对Scala语言学习。虽然Spark也支持Java、Python语言,但是作为一名Java程序猿,还是决定要学习Scala哈。Scala是运行在JVM上一门语言。开发效率非常高、语法丰富简洁,三两行Scala代码能搞定Java要写的一大坨代码。