最新的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目录下。
CDH5.12.1添加spark2.2.0服务
点赞
收藏