CM资源规划

组件 cfp-acrm-cdh-1 cfp-acrm-cdh-2 cfp-acrm-cdh-3
Spark N.A N.A N.A

Spark安装配置

Φ 安装准备

Spark2下载:http://archive.cloudera.com/spark2/csd/SPARK2_ON_YARN-2.1.0.cloudera1.jar
离线包下载:http://archive.cloudera.com/spark2/parcels/2.1.0.cloudera1/
CDS版本对照:https://docs.cloudera.com/documentation/spark2/latest/topics/spark2_packaging.html#packaging

  1. # 拷贝下载Jar包文件*.jar到CSD仓库目录
  2. mkdir -p /opt/cloudera/csd/
  3. cp -rf /share/SPARK2_ON_YARN-2.1.0.cloudera1.jar /opt/cloudera/csd/
  4. # 拷贝下载离线包文件*.parcel,*.parcel.sha1到CM离线仓库目录
  5. cp -rf /share/SPARK2-2.1.0.cloudera1-1.cdh5.7.0.p0.120904-el6.parcel.sha1 /opt/cloudera/parcel-repo/
  6. cp -rf /share/SPARK2-2.1.0.cloudera1-1.cdh5.7.0.p0.120904-el6.parcel /opt/cloudera/parcel-repo/
  7. cd /opt/cloudera/parcel-repo/
  8. mv SPARK2-2.1.0.cloudera1-1.cdh5.7.0.p0.120904-el6.parcel.sha1 SPARK2-2.1.0.cloudera1-1.cdh5.7.0.p0.120904-el6.parcel.sha

配置JAVAHOME(注意:_CM安装Spark不会去环境变量去找Java,需要将Java路径添加到CM配置文件):

  1. # 查找java8的home目录
  2. cat /opt/cm/cm-5.8.3/lib64/cmf/service/common/cloudera-config.sh
  3. # 建立软连接(所有节点)
  4. mkdir -p /usr/java/jdk1.8
  5. ln -s /usr/local/jdk1.8.0_221 /usr/java/jdk1.8
  6. mkdir -p /usr/java/default
  7. ln -s /usr/local/jdk1.8.0_221 /usr/java/default
  8. # 建议在CM上配置一下集群节点的JAVA_HOME(“主机”/“所有主机”/“配置”,搜索:“Java 主目录”)
  9. vi /opt/cm/cm-5.8.3/lib64/cmf/service/client/deploy-cc.sh
  10. JAVA_HOME=/usr/local/jdk1.8.0_221
  11. export JAVA_HOME=/usr/local/jdk1.8.0_221
  12. # 之后重启CDH

Φ 更新Parcel

进入菜单:“主机”/“Parcel”,点击右上角“检查新 Parcel”,多点击几次以确保Spark2的相关条目出现。之后选择“分配”,分配完成后选择“激活”。

Φ 添加Spark服务

进入菜单:“集群”/“cluster 1”/“操作”/“添加服务”,选择Spark2(On Yarn)。

Φ 选择集群节点

选择带“Hive”的记录项。

Φ 分配节点

根据CM资源规划继续节点分配(采用Spark On Yarn的模式,故Spark可以只安装一个节点)。

Φ 启动服务

测试元数据库没有问题后,继续并启动服务。

验证

Φ Web UI

History Server WebUI:http://cfp-acrm-cdh-1:18089
CM TCP端口清单:https://www.yuque.com/polaris-docs/bigdata/cdh

Φ Spark On Yarn

  1. cd /opt/cloudera/parcels/SPARK2/lib/spark2/bin
  2. ./spark-submit --master yarn --num-executors 1 --executor-memory 1G --executor-cores 1 --class org.apache.spark.examples.SparkPi /opt/cloudera/parcels/SPARK2/lib/spark2/examples/jars/spark-examples_2.11-2.1.0.cloudera1.jar