1.编写目的:由于cdh-5.9.2自带spark版本是spark1.6,现需要测试spark2新特性,需要整合spark2,
且spark1.x和spark2.x可以同时存在于cdh中,无需先删除spark1.x;
2.安装包下载
2.1首先下载csd包,地址: http://archive.cloudera.com/spark2/csd/
2.2 parcel包下载地址:http://archive.cloudera.com/spark2/parcels/2.1.0.cloudera1/
需要注意的是要下载对应的版本和对应的操作系统包;
3.安装开始
将安装包放到对应目录,修改安装包所属用户,以及组,如下图:
将该节点执行 :
service cloudera-scm-server restart
service cloudera-scm-agent restart
然后点击主机->Parcel页面,看是否多了个spark2的选项。如下图,你这里此时应该是分配按钮,点击,等待操作完成后,点击激活按钮
然后在dashboard页面,向集群添加服务,就可以看到spark2:
我这里把spark2的history server装在了第三个节点:
至此,安装完成;
4.测试验证:
spark2-shell启动成功;
spark-shell,即spark1也启动成功;
=====》使用spark-submit模式几条job:
[hdfs@hadoopNode3:/opt/cloudera/parcels/SPARK2/bin]$ ./spark2-submit --master yarn --deploy-mode cluster --conf spark.driver.memory=2g --class org.apache.spark.examples.SparkPi --executor-cores 4 /opt/cloudera/parcels/CDH/lib/spark/examples/lib/spark-examples-1.6.0-cdh5.9.2-hadoop2.6.0-cdh5.9.2.jar
[hdfs@hadoopNode3:/opt/cloudera/parcels/CDH/lib/spark/bin]$ ./spark-submit --master yarn --deploy-mode cluster --conf spark.driver.memory=2g --class org.apache.spark.examples.SparkPi --executor-cores 4 /opt/cloudera/parcels/CDH/lib/spark/examples/lib/spark-examples-1.6.0-cdh5.9.2-hadoop2.6.0-cdh5.9.2.jar
可以看到用集群模式也都能运行job成功
五.问题总结:
1.在安装过程中,可能会碰到在向集群添加spark2这个服务时候,没有spark2这个选项,这个是csd文件没有放对路劲;
2.在集群其他节点运行spark2的时候,会报错
spark2安装在哪个节点,就要到对应节点运行,否则会有这个报错;
3.运行spark2对应命令,要切换到hdfs用户,否则会报错: