首页 > 其他分享 >Spark3与CDH6.1.1的集成

Spark3与CDH6.1.1的集成

时间:2022-10-10 09:48:34浏览次数:70  
标签:集成 opt conf Spark3 CDH6.1 module 3.0 spark cdh6.1

一、编译Spark3.0.3源码

1、源码下载

https://github.com/apache/spark/archive/refs/tags/v3.0.3.zip

2、上传至/opt/soft目录并解压至/opt/module

unzip spark-3.0.3.zip
mv /opt/soft/spark-3.0.3 /opt/module/

3、修改pom文件

vim /opt/module/spark-3.0.3/pom.xml

  添加Cloudera maven镜像及hadoop3.0 相关

<repository>
<id>cloudera</id>
<url>https://repository.cloudera.com/artifactory/cloudera-repos/</url>
<name>Cloudera Repositories</name>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>

<pluginRepository>
<id>cloudera</id>
<name>Cloudera Repositories</name>
<url>https://repository.cloudera.com/artifactory/cloudera-repos/</url>
</pluginRepository>

<profile>
<id>hadoop-3.0</id>
<properties>
<hadoop.version>3.0.0-cdh6.1.1</hadoop.version>
</properties>
</profile>

  修改maven版本号,我的maven版本号为3.6.3,可以使用mvn -version命令进行查看

<maven.version>3.6.3</maven.version>

4、修改make-distribution.sh

vim /opt/module/spark-3.0.3/dev/make-distribution.sh

  将如下内容注释掉:

#VERSION=$("$MVN" help:evaluate -Dexpression=project.version $@ 2>/dev/null\
# | grep -v "INFO"\
# | grep -v "WARNING"\
# | tail -n 1)
#SCALA_VERSION=$("$MVN" help:evaluate -Dexpression=scala.binary.version $@ 2>/dev/null\
# | grep -v "INFO"\
# | grep -v "WARNING"\
# | tail -n 1)
#SPARK_HADOOP_VERSION=$("$MVN" help:evaluate -Dexpression=hadoop.version $@ 2>/dev/null\
# | grep -v "INFO"\
# | grep -v "WARNING"\
# | tail -n 1)
#SPARK_HIVE=$("$MVN" help:evaluate -Dexpression=project.activeProfiles -pl sql/hive $@ 2>/dev/null\
# | grep -v "INFO"\
# | grep -v "WARNING"\
# | fgrep --count "<id>hive</id>";\
# # Reset exit status to 0, otherwise the script stops here if the last grep finds nothing\
# # because we use "set -o pipefail"
# echo -n)

  添加如下内容:

#spark的版本
VERSION=3.0.3
#使用的scala版本
SCALA_VERSION=2.11
#使用什么版本hadoop进行打包编译
SPARK_HADOOP_VERSION=3.0.0-cdh6.1.1
#是否使用hive
SPARK_HIVE=1

5、编译准备

  为防止编译过程中出现内存不足而出现“被杀死“错误,我们设置一下内存大小,必要时打开swap分区:

export MAVEN_OPTS="-Xms10g -Xmx10g"
#启用swap分区
swapon -a

6、执行编译命令

cd /opt/module/spark-3.0.3/
./dev/make-distribution.sh --name 3.0.0-cdh6.1.1 --tgz  -Pyarn -Phadoop-3.0 -Phive -Phive-thriftserver -Dhadoop.version=3.0.0-cdh6.1.1

7、查看编译结果

8、参考地址

https://blog.csdn.net/weixin_44641024/article/details/102624086

https://cdn.modb.pro/db/414191

二、集成CDH

1、上传spark-3.0.3-bin-3.0.0-cdh6.1.1.tgz至/opt/soft目录

2、解压至/opt/module

tar -zxvf /opt/soft/spark-3.0.3-bin-3.0.0-cdh6.1.1.tgz -C /opt/module

3、修改文件名称

cd /opt/module/spark-3.0.3-bin-3.0.0-cdh6.1.1/conf
mv spark-defaults.conf.template spark-defaults.conf
mv spark-env.sh.template spark-env.sh

4、修改spark-defaults.conf

vim spark-defaults.conf

  添加如下内容

#hive metastore的版本设置为 2.1.1
spark.sql.hive.metastore.version=2.1.1
#引用 hive2.1.1 相关的jar包
spark.sql.hive.metastore.jars=/opt/cloudera/parcels/CDH/lib/hive/lib/*
#设置spark提交任务默认的yarn队列,这条可以不加
#spark.yarn.queue=root.user
#为了从Yarn上关联到Spark历史服务器,需要配置关联路径
spark.yarn.historyServer.address=xxx.xxx.xxx.100:18080
spark.history.ui.port=18080

spark.master yarn
spark.eventLog.enabled true
spark.eventLog.dir hdfs://服务名/spark3.0.3/sparklogs
spark.executor.memory 4g
spark.driver.memory 4g

5、修改spark-env.sh

vim spark-env.sh

  添加如下内容

#添加 hadoop 配置文件的路径
export HADOOP_CONF_DIR=/etc/hadoop/conf
export YARN_CONF_DIR=/opt/cloudera/parcels/CDH/lib/hadoop/etc/hadoop
export HIVE_CONF_DIR=/etc/hive/conf

#WEBUI访问的端口号为18080,
#指定历史服务器日志存储路径为/spark/sparklogs,
#retainedApplications指定保存Application历史记录的个数,如果超过这个值,旧的应用程序信息将被删除,这个是内存中的应用数,而不是页面上显示的应用数
export SPARK_HISTORY_OPTS="
-Dspark.history.ui.port=18080
-Dspark.history.fs.logDirectory=hdfs://服务名/spark/sparklogs
-Dspark.history.retainedApplications=1000"

6、获取CDH相关配置文件至conf目录

cp /etc/hadoop/conf/hdfs-site.xml /opt/module/spark-3.0.3-bin-3.0.0-cdh6.1.1/conf/
cp /etc/hadoop/conf/core-site.xml /opt/module/spark-3.0.3-bin-3.0.0-cdh6.1.1/conf/
cp /etc/hive/conf/hive-site.xml /opt/module/spark-3.0.3-bin-3.0.0-cdh6.1.1/conf/

7、在HDFS创建对应的目录

hadoop fs -mkdir -p /spark3.0.3/sparklogs
hadoop fs -mkdir -p /spark/sparklogs

8、在xxx.xxx.xxx.100节点启动/停止历史服务器

/opt/module/spark-3.0.3-bin-3.0.0-cdh6.1.1/sbin/stop-history-server.sh
/opt/module/spark-3.0.3-bin-3.0.0-cdh6.1.1/sbin/start-history-server.sh

9、启动spark-shell、pyspark

/opt/module/spark-3.0.3-bin-3.0.0-cdh6.1.1/bin/spark-shell
/opt/module/spark-3.0.3-bin-3.0.0-cdh6.1.1/bin/pyspark

10、说明

  这里没有配置Spark3.0.3版本的环境变量,而是使用全路径的方式使用,主要是避免影响到CDH版本的Spark。

标签:集成,opt,conf,Spark3,CDH6.1,module,3.0,spark,cdh6.1
From: https://www.cnblogs.com/qq1035807396/p/16774530.html

相关文章

  • 一文理清pycharm+git+jenkins项目持续集成和自动化构建流程(Windows)
    最近得空,整理了一下pycharm+git+jenkins实现python项目持续集成和自动化构建的配置流程,包括软件包、所需插件的安装配置。1、安装和配置git    1.1安装git:官网下......
  • @prometheus集成grafana
    文章目录​​prometheus集成grafana​​​​一、什么是grafana​​​​二、特点​​​​1、可视化​​​​2、报警​​​​3、通知​​​​4、动态仪表盘​​​​5、混合数......
  • spring boot集成redis基础入门
    redis支持持久化数据,不仅支持key-value类型的数据,还拥有list,set,zset,hash等数据结构的存储。可以进行master-slave模式的数据备份更多redis相关文档请查看redis官方文......
  • 开源直播课丨大数据集成框架ChunJun类加载器隔离方案探索及实践
    本期我们带大家回顾一下无倦同学的直播分享《ChunJun类加载器隔离》,ChunJun类加载器隔离的方案是我们近期探索的一个新方案,这个方案目前还不是非常成熟,希望能借由此次分享......
  • 开源直播课丨大数据集成框架ChunJun类加载器隔离方案探索及实践
    本期我们带大家回顾一下无倦同学的直播分享《ChunJun类加载器隔离》,ChunJun类加载器隔离的方案是我们近期探索的一个新方案,这个方案目前还不是非常成熟,希望能借由此次分享......
  • 集成125K低频触发和2.4G发射单SOC芯片-CSM2433
    CSM2433是一款集成2.4GHz频段发射器、125KHz接收器和8位RISC(精简指令集)MCU的SOC芯片;125K低频接收性能:  ◼接收工作在15KHz-150KHz◼具有超低功耗自动发......
  • 术语名词,集成电路
    Silicon:硅Substrate:基底;底物;底层;基层Via:VIA,又称过孔,在线路板中,一条线路从板的一面跳到另一面,连接两条连线的孔也叫过孔(区别于焊盘,边上没有助焊层。)https://......
  • Windows Terminal 下集成 GIT
    WindowsTerminal与GitBash第一步:安装WindowsTerminal若想在Windows下操作终端,首先第一时间想到的就是win+r但是作为见惯了linux及mac下的终端,就会觉得win的c......
  • 【安全测试】【Sonar】Sonarqube的集成与使用
    一、选用的版本sonar-scanner-4.6.2.2472sonarqube-9.2.4.50792mysql5.6sonarqube的文档地址:https://docs.sonarqube.org/latest/analysis/analysis-parameters/sonar......
  • Springboot集成阿里云短信
    目录1前言2准备工作2.1了解流程2.2配置信息2.3短信签名和模板2.3.1签名2.3.2模板2.3.3存入数据库3SDK4集成Springboot4.1集成4.2测试5后记1前言​ 线上系......