• 欢迎关注微信公众号:九万里大数据
  • 请使用Ctrl+D收藏本站到书签栏
  • 手机也可访问本站 jwldata.com

CDH上再安装其他版本的Spark客户端

大数据技术 九万里大数据 3年前 (2021-05-26) 905次浏览 0个评论 扫描二维码
文章目录[隐藏]

假设CDH上已经安装了Spark1.6.0和Spark2.4.0,用spark-shell和spark2-shell可以分别调用两个版本的Spark。现在需要安装第三个版本的Spark客户端,这里讲述这种场景下再安装一个1.6.3版本的Spark客户端。

普通的Spark客户端安装可以参考往期文章:
https://www.jwldata.com/archives/116.html

场景和目标

  • CDH上已经安装了Spark1.6.0和Spark2.4.0
  • CDH配置了lzo压缩
  • 在CDH的某个节点上新装一个Spark1.6.3客户端
  • 新装的Spark1.6.3客户端需要能访问CDH的HDFS
  • 新装的Spark1.6.3客户端需要能提交任务给CDH的YARN
  • 新装的Spark1.6.3客户端需要能访问CDH的Hive仓库
  • 不能影响原来CDH的Spark1.6.0和Spark2.4.0的使用

下载安装包

下载apache官网安装包
http://archive.apache.org/dist/spark/spark-1.6.3/spark-1.6.3-bin-hadoop2.6.tgz

安装Spark客户端

解压赋权

tar -zxf spark-1.6.3-bin-hadoop2.6.tgz -C /opt
sudo chown -R root:root /opt/spark-1.6.3-bin-hadoop2.6

配置Spark

cd /opt/spark-1.6.3-bin-hadoop2.6/conf
touch spark-env.sh
chmod 755 spark-env.sh

如果Spark需要直接连接Hive,且Hadoop配置了lzo,则spark-env.sh可以用以下配置

#!/usr/bin/env bash
export JAVA_HOME=/usr/java/jdk1.8.0_181-amd64
export HADOOP_HOME=/opt/cloudera/parcels/CDH/lib/hadoop
export HADOOP_CONF_DIR="/etc/hadoop/conf:/etc/hive/conf"
# 如果用的自己安装的Hadoop
# export SPARK_DIST_CLASSPATH=$(${HADOOP_HOME}/bin/hadoop classpath)
# 如果用的CDH的Hadoop
export SPARK_DIST_CLASSPATH=$(paste -sd: "/etc/spark/conf/classpath.txt")
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/cloudera/parcels/GPLEXTRAS/lib/hadoop/lib/native
# SPARK_CLASSPATH在spark1+已deprecated
# export SPARK_CLASSPATH=/opt/cloudera/parcels/GPLEXTRAS/lib/hadoop/lib/hadoop-lzo.jar

修改命令脚本

cd /opt/spark-1.6.3-bin-hadoop2.6/bin
vi spark-shell
vi spark-submit
vi pyspark

将spark-shell,spark-submit,pyspark命令脚本都追加”export SPARK_HOME=/opt/spark-1.6.3-bin-hadoop2.6″的语句。

if [ -z "${SPARK_HOME}" ]; then
  export SPARK_HOME="$(cd "`dirname "$0"`"/..; pwd)"
fi
 
export SPARK_HOME=/opt/spark-1.6.3-bin-hadoop2.6

添加到系统环境

ln -s /opt/spark-1.6.3-bin-hadoop2.6/bin/spark-shell /usr/bin/spark1.6.3-shell
ln -s /opt/spark-1.6.3-bin-hadoop2.6/bin/spark-submit /usr/bin/spark1.6.3-submit
ln -s /opt/spark-1.6.3-bin-hadoop2.6/bin/pyspark /usr/bin/pyspark1.6.3

验证测试

测试提交任务给YARN

spark1.6.3-submit --class org.apache.spark.examples.SparkPi --master yarn --deploy-mode client /opt/spark-1.6.3-bin-hadoop2.6/lib/spark-examples-1.6.3-hadoop2.6.0.jar 10

测试访问HDFS和Hive

spark1.6.3-shell
 
scala> val content = sc.textFile("/user/hive/node_exporter.sh")
scala> content.count()
 
scala> sqlContext.sql("select * from bank.account").show()

欢迎关注我的公众号“九万里大数据”,原创技术文章第一时间推送。
欢迎访问原创技术博客网站 jwldata.com,排版更清晰,阅读更爽快。


CDH上再安装其他版本的Spark客户端
 


本站文章,如未注明,均为原创 | 原创文章版权归九万里大数据所有,未经许可不得转载。
本文链接:CDH上再安装其他版本的Spark客户端
喜欢 (0)

您必须 登录 才能发表评论!