一、Cloudera manager的服务安装
包含2个:
1、 是软件包的分发、安装
此种方式安装的时候。Cloudera manager会在激活这个步骤验证软件的版本和当前cdh的兼容性。如果不符合会提示,并且不能激活。
(1)、包的在线安装
上一步中配置会打开这个界面进行:下载地址的配置。
点击分配步骤之后,.parcel的软件包在每台机器上就已经复制了,并且是解压好的安装包。
(2)、通过自己下载.parcel,上传到软件包目录
此种方式安装的时候。Cloudera manager在激活这个步骤验证软件的版本和当前cdh的兼容性。
(2.1).上传parcel包到Cloudera manager主节点所在机器的/opt/cloudera/parcel-repo
(2.2).一般包含一下三个文件,如果没有.parcel.sha文件就自己创建一个。里面的码就是manifest.json文件里面组件的hash的值。
文件下载、上传到指定目录之后,后面的操作和在线下载的方式是一样的。检查新Parcel、分配、激活。
如果一个软件包就是比较简单的(只要求有对应jar,没有分配组件等复杂管理)、或者软件包比较新cloudera manager没有提供对应的添加服务的界面选项。应该到这里就结束了。
2、 是服务管理的界面:主要是添加服务、选择角色所在的机器、管理服务的运行、配置等。
服务管理界面这块cloudera manager上我没有发现自动分发、配置的功能。都是手动同步配置和软件到各个机器上的。
Web服务管理包的路径在 /opt/cloudera/csd/
详细的步骤请参见下文的spark服务管理界面的安装。
=========================================
此步骤不确定是否必要。
二、scala环境的安装
安装scala
1、下载
https://downloads.lightbend.com/scala/2.12.4/scala-2.12.4.tgz
2、解压
tar -xvf scala-2.12.4.tgz
3、添加到环境
vim /etc/profile
#set scala
export SCALA_HOME=/usr/scala-2.12.4
export PATH=$PATH:$SCALA_HOME/bin
复制到其他机器
scp -r /usr/scala-2.12.4/ [email protected]:/usr/scala-2.12.4/
生效环境
source /etc/profile
=========================================
三、spark2.2软件包的安装
spark2的安装地址
下载地址
http://archive.cloudera.com/spark2
这里需要说明一下。Cloudera manager里面组件的安装提供了cloudera2和cloudera1这2中版本的软件包。
根据下面这个网页的说:其实就是hive关联软件导致的cdh版本的要求。总体看来cloudera2版本的软件包兼容更广泛。
1版本的可能有的cdh版本需要升级才能兼容要安装的软件包
https://www.cloudera.com/documentation/spark2/latest/topics/spark2_requirements.html
最终选择了下面这个地址的spark版本,通过在线下载的方式进行了安装。
http://archive.cloudera.com/spark2/parcels/2.2.0.cloudera2/
、
=========================================
四、spark2.2web服务关联的安装
由于担心版本冲突,我先卸载了cloudera manager自带的spark1.6版本。
重新安装spark2.2版本的软件包和对应的web服务管理功能。
下载添加web服务的组件
地址
http://archive.cloudera.com/spark2/csd/
要下载的文件
SPARK2_ON_YARN-2.2.0.cloudera2.jar
SPARK2_ON_YARN-2.2.0.cloudera2.jar.sha
如果是SPARK2_ON_YARN-2.2.0.cloudera2.jar.sha1请重命名一下,把后缀名.sha1改成sha.
---------------------------------------
/opt/cloudera/
以下操作在每个节点执行:
把上面的2个文件上传到/opt/cloudera/csd/目录
授权(变更所属组和拥有者)
cd /opt/cloudera/csd/
chgrp cloudera-scm SPARK2_ON_YARN-2.2.0.cloudera2.jar
chgrp cloudera-scm SPARK2_ON_YARN-2.2.0.cloudera2.jar.sha
chown cloudera-scm SPARK2_ON_YARN-2.2.0.cloudera2.jar
chown cloudera-scm SPARK2_ON_YARN-2.2.0.cloudera2.jar.sha
重启
/opt/cm-5.11.1/etc/init.d/cloudera-scm-agent restart
/opt/cm-5.11.1/etc/init.d/cloudera-scm-server restart
重启之后,就应该能在添加服务里面看到spark2了
如果重启之后还看不到看到spark2这个服务。请查验.parcel包是否和web管理服务包的版本对应的上。
=========================================
五、测试代码是否有效
/opt/cloudera/parcels/SPARK2-2.2.0.cloudera2-1.cdh5.12.0.p0.232957/lib/spark2/examples/jars/
./bin/spark-submit --class org.apache.spark.examples.SparkPi --master yarn-client examples/jars/spark-examples_2.11-2.2.0.cloudera2.jar
cloudera manager自己安装的spark2目录
cd /opt/cloudera/parcels/SPARK2-2.2.0.cloudera2-1.cdh5.12.0.p0.232957/bin/
spark2-submit --class org.apache.spark.examples.SparkPi --master yarn-client /opt/cloudera/parcels/SPARK2-2.2.0.cloudera2-1.cdh5.12.0.p0.232957/lib/spark2/examples/jars/spark-examples_2.11-2.2.0.cloudera2.jar
运行会报错,需要在运行的机器上都安装getway,并且刷新客户端配置。Spark可能需要它来获取hadoop的配置信息。