简介:
在我的CDH5.13集群中,默认安装的spark是1.6版本,这里需要将其升级为spark2.x版本。经查阅官方文档,发现spark1.6和2.x是可以并行安装的,也就是说可以不用删除默认的1.6版本,可以直接安装2.x版本,它们各自用的端口也是不一样的。这里做一下安装spark2.3版本的步骤记录。
一. 安装准备
- csd包:http://archive.cloudera.com/spark2/csd/
- parcel包:http://archive.cloudera.com/spark2/parcels/2.3.0.cloudera2/
注意,下载对应版本的包,我的CentOS7,所以下载el7的包,若是CentOS6,就要下el6的包。
特别注意,如果你安装spark2.3,按照上面下载就是了,注意一下操作系统的版本;如果你不打算安装spark2.3,想安装其他版本,比如2.0,那么一定要注意下面的事项: 如果你仔细浏览过这些路径,会发现下图中,csd和parcel包会有.clouderal1和.clouderal2之分,和2.0与2.1版本之分,那么在下载parcel时也要注意,下载对应的包。即如果下载到的是.clouderal1的csd包,下载parcel包也要下载文件名中是.clouderal1的包,不能下载.clouderal2的包,同时csd2.0的包也不能用于parcel2.1的包,不然很可能安不上
二. 开始安装
1.安装前可以停掉集群和Cloudera Management Service
停止CDH服务
停止CM服务
2.下面的操作在每个CDH节点都要进行。
3.上传CSD包到机器的/opt/cloudera/csd目录,并且修改文件的用户和组。注意如果本目录下有其他的jar包,把删掉或者移到其他目录
[root@hadoop1 csd]# chown cloudera-scm:cloudera-scm SPARK2_ON_YARN-2.3.0.cloudera2.jar
[root@hadoop1 csd]# ll
-rw-r--r-- 1 cloudera-scm cloudera-scm 19010 May 23 00:30 SPARK2_ON_YARN-2.3.0.cloudera2.jar
4.上传parcel包到机器的/opt/cloudera/parcel-repo目录下。
注意。如果有其他的安装包,不用删除 。但是如果本目录下有其他的重名文件比如manifest.json文件,把它重命名备份掉。然后把那3个parcel包的文件放在这里。
SPARK2-2.3.0.cloudera2-1.cdh5.13.3.p0.316101-el7.parcel
SPARK2-2.3.0.cloudera2-1.cdh5.13.3.p0.316101-el7.parcel.sha
manifest.json
5.如果刚刚没有停掉CM和集群,现在将他们停掉。然后运行命令。
[root@hadoop1 opt]# /opt/cm-5.13.3/etc/init.d/cloudera-scm-server restart
Stopping cloudera-scm-server: [ OK ]
Starting cloudera-scm-server: [ OK ]
[root@hadoop1 opt]# /opt/cm-5.13.3/etc/init.d/cloudera-scm-agent restart
Stopping cloudera-scm-agent: [ OK ]
Starting cloudera-scm-agent: [ OK ]
6.把CM和集群启动起来。然后点击主机->Parcel页面,看是否多了个spark2的选项。如下图,你这里此时应该是分配按钮,点击,等待操作完成后,点击激活按钮
7.激活后,点击你的群集-》添加服务,添加spark2服务。注意,如果你这里看不到spark2服务,就请检查你的CSD包和parcel包是否对应,上面的步骤是否有漏掉。正常情况下,应该是能用了。
官方下载安装说明见:https://www.cloudera.com/downloads/spark2/2-3-r4.html
感谢您下载Apache Spark 2.3,下载说明如下。
安装或升级由Apache Spark提供支持的CDS
最低要求角色: 群集管理员 (也由完全管理员提供)
由Apache Spark提供支持的CDS分为两个文件: 自定义服务描述符 文件和一个包,这两个文件都必须安装在群集上。
注意: 由于Apache Spark支持的CDS 和初始 主义CSD之间可能存在混淆 ,因此本文档中对自定义服务描述符(CSD)文件的引用使用术语 服务描述符。
安装由Apache Spark提供支持的CDS
注意:虽然Spark 1和Spark 2可以在同一个CDH群集中共存,但您不能在同一个Cloudera Manager实例中同时使用多个Spark 2版本。由同一Cloudera Manager Server管理的所有CDH群集必须使用与Apache Spark完全相同的CDS版本。例如,您不能使用内置的CDH Spark服务,CDS 2.1服务和CDS 2.2服务。您必须只选择一个由Apache Spark版本提供支持的CDS 2。确保同时 在所有群集的所有计算机上安装或升级CDS 2 服务描述符和parcel。
CDS 2.2及更高版本仅需要JDK 8。如果您使用的是CD 2.2或更高版本,则必须从所有群集和网关主机中删除JDK 7以确保正常运行。
按照以下步骤安装Apache Spark支持的CDS:
- 检查是否满足所有必备软件。如果没有,您可能需要先升级或安装其他软件组件。有关 详细信息,请参阅 Apache Spark要求的CDS。
- 将Apache Spark服务描述符支持的CDS安装到Cloudera Manager中。重要提示:由于Apache Spark支持的CDS只能使用parcel机制进行安装,因此它只能在Cloudera Manager管理的集群上使用。此外,由于Cloudera Manager不支持在同一群集中使用parcel和包,因此如果您使用的是基于软件包的CDH安装,则无法使用CDS。
- 要下载受Apache Spark服务描述符支持的CDS,请在CDS可供下载的版本的版本信息表中 ,单击要安装的版本的服务描述符链接。
- 登录到Cloudera Manager Server主机,并在 为服务描述符文件配置的位置复制由Apache Spark服务描述符提供的CDS 。
- 使用权限644将服务描述符的文件所有权设置为cloudera-scm:cloudera-scm。
- 使用以下命令重新启动Cloudera Manager Server:service cloudera-scm-server restart
- 在Cloudera Manager Admin Console中,将包含Apache Spark parcel存储库的CDS添加 到宗地设置中的远程宗地存储库URL,如宗地 配置设置中所述。注意:如果Cloudera Manager Server无法访问Internet,则可以使用由Apache Spark parcel文件提供的CDS:将它们放入 新的parcel存储库,然后将Cloudera Manager Server配置为以新创建的存储库为目标。
- 下载由Apache Spark parcel提供支持的CDS,将parcel分发到群集中的主机,然后激活该parcel。请参阅 管理地块。
- 将Spark 2服务添加 到您的群集。
- 在步骤#1中,选择依赖项选项:
- HDFS,YARN,ZooKeeper:如果您不需要访问Hive服务,请选择此选项。
- HDFS,Hive,YARN,ZooKeeper:Hive是Spark服务的可选依赖项。如果您有Hive服务并希望从Spark应用程序访问Hive表,请选择此选项以将Hive包含为依赖项,并使Hive客户端配置始终可供Spark应用程序使用。
- 在步骤#2中,为Apache Spark自定义CDS Powered的角色分配时, 为每个主机添加 网关角色。
- 请注意,历史服务器端口是18089而不是通常的18088。
- 完成添加Spark 2服务的步骤。
- 单击Cloudera Manager徽标返回主页。
- 单击以重新启动群集。
升级到由Apache Spark提供支持的CDS 2.3
注意:虽然Spark 1和Spark 2可以在同一个CDH群集中共存,但您不能在同一个Cloudera Manager实例中同时使用多个Spark 2版本。由同一Cloudera Manager Server管理的所有CDH群集必须使用与Apache Spark完全相同的CDS版本。例如,您不能使用内置的CDH Spark服务,CDS 2.1服务和CDS 2.2服务。您必须只选择一个由Apache Spark版本提供支持的CDS 2。确保同时 在所有群集的所有计算机上安装或升级CDS 2 服务描述符和parcel。
CDS 2.2及更高版本仅需要JDK 8。如果您使用的是CD 2.2或更高版本,则必须从所有群集和网关主机中删除JDK 7以确保正常运行。
如果您已经在使用CDS 2.0,2.1或2.2,则以下是升级到由Apache Spark提供支持的CDS 2.3的步骤,同时保留已应用的Spark 2的任何非默认配置:
- 从/ opt / cloudera / csd中删除旧版本的CDS Powered by Apache Spark的服务描述符JAR。有关 每个版本对应的JAR文件的名称,请参阅 Apache Spark版本,打包和下载信息支持的CDS。
- 将CDS 2.3的服务描述符JAR添加到/ opt / cloudera / csd。设置正确的权限和所有权。
- 重新启动cloudera-scm-server服务。
- 在Cloudera Manager中,取消激活与旧版CDS对应的宗地。
- 在Cloudera Manager中,激活与CDS 2.3对应的包裹。
- 重启服务并部署客户端配置。