服务器编译spark3.3.1源码支持CDH6.3.2

news2024/11/17 14:19:28

1、一定要注意编译环境的配置

mvn:3.6.3
scala:2.12.17
JDK:1.8
spark:3.3.1
服务器内存至少需要 8G 重点

2、下载连接

wget https://dlcdn.apache.org/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.zip
wget https://downloads.lightbend.com/scala/2.12.17/scala-2.12.17.tgz
wget https://dlcdn.apache.org/spark/spark-3.3.1/spark-3.3.1.tgz

3、安装直接解压,到/opt/softwear/文件夹

4、配置环境变量

vim /etc/profile
添加:
export JAVA_HOME=/usr/java/jdk1.8.0_191
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
export SCALA_HOME=/opt/softwear/scala-2.12.17
export MAVEN_HOME=/opt/softwear/apache-maven-3.6.3
export PATH=$PATH:${JAVA_PATH}:$SCALA_HOME/bin:$MAVEN_HOME/bin

5、更改相关配置文件

vim /opt/softwear/spark-3.3.1/pom.xml

一定注意下面的修改配置

    <repository>  
        <id>alimaven</id>  
        <name>aliyun maven</name>  
        <url>http://maven.aliyun.com/nexus/content/groups/public/</url>  
        <releases>  
            <enabled>true</enabled>  
        </releases>  
        <snapshots>  
            <enabled>false</enabled>  
        </snapshots>  
    </repository>
    <repository>
        <id>cloudera</id>
        <url>https://repository.cloudera.com/artifactory/cloudera-repos/</url>
    </repository>
    <repository>
      <id>gcs-maven-central-mirror</id>
      <!--
        Google Mirror of Maven Central, placed first so that it's used instead of flaky Maven Central.
        See https://storage-download.googleapis.com/maven-central/index.html
      -->
      <name>GCS Maven Central mirror</name>
      <url>https://maven-central.storage-download.googleapis.com/maven2/</url>
      <releases>
        <enabled>true</enabled>
      </releases>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
    </repository>
    
<hadoop.version>3.0.0-cdh6.3.2</hadoop.version>
<maven.version>3.6.3</maven.version>

            <compilerPlugins>
              <compilerPlugin>
                <groupId>com.github.ghik</groupId>
                <artifactId>silencer-plugin_2.12.17</artifactId>
                <version>1.7.12</version>
              </compilerPlugin>
            </compilerPlugins>

6、修改mvn地址

vi /opt/softwear/spark-3.3.1/dev/make-distribution.sh

MVN="/opt/softwear/apache-maven-3.6.3/bin/mvn"

7、更改 scala版本

/opt/softwear/spark-3.3.1/dev/change-scala-version.sh 2.12

8、执行脚本编译

/opt/softwear/spark-3.3.1/dev/make-distribution.sh --name 3.0.0-cdh6.3.2 --tgz  -Pyarn -Phadoop-3.0 -Phive -Phive-thriftserver -Dhadoop.version=3.0.0-cdh6.3.2 -Dscala.version=2.12.17

9、打包完在/opt/softwear/spark-3.3.1 有一个完整包
在这里插入图片描述
10、部署 Spark3 客户端

tar -zxvf spark-3.3.1-bin-3.0.0-cdh6.3.2.tgz -C /opt/cloudera/parcels/CDH/lib
cd /opt/cloudera/parcels/CDH/lib
mv spark-3.3.1-bin-3.0.0-cdh6.3.2/ spark3

11、将 CDH 集群的 spark-env.sh 复制到 /opt/cloudera/parcels/CDH/lib/spark3/conf 下

cp /etc/spark/conf/spark-env.sh  /opt/cloudera/parcels/CDH/lib/spark3/conf
chmod +x /opt/cloudera/parcels/CDH/lib/spark3/conf/spark-env.sh

#修改 spark-env.sh
vim /opt/cloudera/parcels/CDH/lib/spark3/conf/spark-env.sh

export SPARK_HOME=/opt/cloudera/parcels/CDH/lib/spark3

12、将 gateway 节点的 hive-site.xml 复制到 spark3/conf 目录下,不需要做变动:

cp /etc/hive/conf/hive-site.xml /opt/cloudera/parcels/CDH/lib/spark3/conf/

13、创建 spark-sql
vim /opt/cloudera/parcels/CDH/bin/spark-sql

#!/bin/bash 
export HADOOP_CONF_DIR=/etc/hadoop/conf
export YARN_CONF_DIR=/etc/hadoop/conf
SOURCE="${BASH_SOURCE[0]}"  
BIN_DIR="$( dirname "$SOURCE" )"  
while [ -h "$SOURCE" ]  
do  
 SOURCE="$(readlink "$SOURCE")"  
 [[ $SOURCE != /* ]] && SOURCE="$BIN_DIR/$SOURCE"  
 BIN_DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )"  
done  
BIN_DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )"  
LIB_DIR=$BIN_DIR/../lib  
export HADOOP_HOME=$LIB_DIR/hadoop  
  
# Autodetect JAVA_HOME if not defined  
. $LIB_DIR/bigtop-utils/bigtop-detect-javahome  
  
exec $LIB_DIR/spark3/bin/spark-submit --class org.apache.spark.sql.hive.thriftserver.SparkSQLCLIDriver "$@"

14、配置 spark-sql 快捷方式

chmod +x /opt/cloudera/parcels/CDH/bin/spark-sql
alternatives --install /usr/bin/spark-sql spark-sql /opt/cloudera/parcels/CDH/bin/spark-sql 1

15、配置 conf

cd /opt/cloudera/parcels/CDH/lib/spark3/conf
## 开启日志
mv log4j2.properties.template log4j2.properties
## spark-defaults.conf 配置
cp /opt/cloudera/parcels/CDH/lib/spark/conf/spark-defaults.conf ./

# 修改 spark-defaults.conf
vim /opt/cloudera/parcels/CDH/lib/spark3/conf/spark-defaults.conf
删除 spark.extraListeners、spark.sql.queryExecutionListeners、spark.yarn.jars
添加 spark.yarn.jars=hdfs:///spark/3versionJars/*

只需要一台服务器上传spark的jar包就行
hadoop fs -mkdir -p /spark/3versionJars
cd /opt/cloudera/parcels/CDH/lib/spark3/jars
hadoop fs -put *.jar /spark/3versionJars

在这里插入图片描述
有可能会缺少 htrace-core4-4.1.0-incubating.jar 这个包,请下载让后放入到
这个目录下面/opt/cloudera/parcels/CDH/lib/spark3/jars

16、创建 spark3-submit
vim /opt/cloudera/parcels/CDH/bin/spark3-submit

#!/usr/bin/env bash
export HADOOP_CONF_DIR=/etc/hadoop/conf
export YARN_CONF_DIR=/etc/hadoop/conf
SOURCE="${BASH_SOURCE[0]}"
BIN_DIR="$( dirname "$SOURCE" )"
while [ -h "$SOURCE" ]
do
 SOURCE="$(readlink "$SOURCE")"
 [[ $SOURCE != /* ]] && SOURCE="$BIN_DIR/$SOURCE"
 BIN_DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )"
done
BIN_DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )"
LIB_DIR=/opt/cloudera/parcels/CDH/lib
export HADOOP_HOME=$LIB_DIR/hadoop

# Autodetect JAVA_HOME if not defined
. $LIB_DIR/bigtop-utils/bigtop-detect-javahome

# disable randomized hash for string in Python 3.3+
export PYTHONHASHSEED=0

exec $LIB_DIR/spark3/bin/spark-class org.apache.spark.deploy.SparkSubmit "$@"

17、配置 spark3-submit 快捷方式

chmod +x /opt/cloudera/parcels/CDH/bin/spark3-submit
alternatives --install /usr/bin/spark3-submit spark3-submit /opt/cloudera/parcels/CDH/bin/spark3-submit 1

参考链接:
https://juejin.cn/post/7140053569431928845

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/78109.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

大量域名数据下载地址收集整理

说明地址中文网站排行榜——网站排名大全http://www.alexa.cn/siterankAlexa排名(70万的数据)top-1m.csv.zipCisco Umbrellahttp://s3-us-west-1.amazonaws.com/umbrella-static/index.htmlMajestic Millionhttps://majestic.com/reports/majestic-millionTranco-List.euhttps:…

这回稳了,蓝桥杯才是yyds!

为了提高自己的编程能力&#xff0c;很多人会选择参加比赛。而这些比赛中&#xff0c;连续三年入选“全国普通高校学科竞赛排行榜”的蓝桥杯大赛&#xff0c;可以综合测评加分&#xff0c;优先奖学金评定、升学考研加分&#xff0c;yyds !! 蓝桥杯大赛报名截止至12月16日&…

Win 11 安装pycolmap

1.vcpkg安装 1.1 下载vcpkg源码 >> git clone gitgithub.com:microsoft/vcpkg.git1.2 编译生成vcpkg工具 >> .\vcpkg\bootstrap-vcpkg.bat这样在vcpkg文件夹下就会生成vcpkg.exe文件 2.colmap安装 2.1 命令安装colmap的gpu版本 >> .\vcpkg install col…

矩阵 行列式的计算

行列式要求 要计算行列式&#xff0c;那么这个矩阵一定是一个方阵 行列式性质 行列式转置后值不变互换行列式中两行&#xff0c;值变为相反数行列式中两行成比例&#xff0c;行列式为0行列式中一行所有元素乘以一个数后加到另一行&#xff0c;行列式值不变 行列式的计算有很…

【编译原理】第二章部分课后题答案

《编译原理&#xff08;第三版&#xff09;》陈意云著 第 二 章 课 后 习 题 T 2.3 叙述由下列正规式描述的语言 0(0∣1)∗0\space\space0\space\space(\space\space 0\space\space |\space\space 1\space\space)^{\space*\space\space}00 ( 0 ∣ 1 ) ∗ 0 正规式规定开…

Java搭建宝塔部署实战毕设项目springboot销售培训考评系统源码

大家好啊&#xff0c;我是测评君&#xff0c;欢迎来到web测评。 本期给大家带来一套Java开发的毕业设计项目springboot销售培训考评系统源码。 技术架构 技术框架&#xff1a;jQuery MySQL5.7 mybatis shiro Layui HTML CSS JS jpa运行环境&#xff1a;jdk8 IntelliJ…

【Linux】四、Linux 进程概念(三)|进程优先级|环境变量

目录 七、进程优先级 7.1 基本概念 7.1.1 什么是优先级 7.1.2 为什么存在优先级 7.1.3 Linux 优先级特点 7.2 查看系统进程 7.3 PRI 和 IN 7.4 查看进程优先级和更改进程优先级 7.5 其它概念 7.6 进程切换 八、环境变量 8.1 环境变量基本概念 8.2 常见环境变量 8…

windows下node.js通过N-API调用c++函数

环境准备 vscode安装&#xff08;以下均在vscode中操作&#xff09;node.js安装&#xff0c;版本不要太老c工具链安装&#xff0c;安装Visual Studio2019社区版即可&#xff0c;或者执行 npm install --global windows-build-tools&#xff08;这个我没试过&#xff0c;window…

ARM SDRAM

前言 涉及到的文档&#xff1a; S5PV210_UM_REV1.1 x210cv3.pdf K4T1G164QE.pdf 一、SDRAM 引入 1、简介 SDRAM&#xff1a;Syncronized Dynamic Ramdam Access Memory&#xff0c;同步动态随机存储器; DDR&#xff1a;DDR 就是 DDR SDRAM&#xff0c;是 SDRAM 的升级版。…

[论文分享] DnD: A Cross-Architecture Deep Neural Network Decompiler

DnD: A Cross-Architecture Deep Neural Network Decompiler [USENIX 2022] Ruoyu Wu Purdue University Taegyu Kim The Pennsylvania State University Dave (Jing) Tian Purdue University Antonio Bianchi Purdue University Dongyan Xu Purdue University 深度神经网络(…

web前端期末大作业:婚纱网页主题网站设计——唯一旅拍婚纱公司网站HTML+CSS+JavaScript

&#x1f468;‍&#x1f393;静态网站的编写主要是用 HTML DⅣV CSSJS等来完成页面的排版设计&#x1f469;‍&#x1f393;&#xff0c;一般的网页作业需要融入以下知识点&#xff1a;div布局、浮动定位、高级css、表格、表单及验证、js轮播图、音频视频Fash的应用、uli、下拉…

代码随想录训练营day59, 下一个更大元素II, 接雨水

下一个更大元素II 给定一个循环数组, 输出每个元素的下一个更大元素, 没有则-1 所以在遍历的过程中, 模拟走了两遍nums class Solution {public int[] nextGreaterElements(int[] nums) {int len nums.length;//先进行边界判断if(nums null || len < 1){return new int…

Python制作读者下载器,实现随时随地免费看

前言 嗨喽&#xff0c;大家好呀~这里是爱看美女的茜茜呐 又到了学Python时刻~ 一个看书党一年有多少money投入小说行业呢~ 碰上一本好看的书&#xff0c;你能购买上多少章呢~ 其中的投入&#xff0c;无法想象&#xff0c;尤其是兴致上来了&#xff0c;不得投上个礼物给作者…

redis之作为缓存使用

写在前面 Redis因为其自身高性能的数据读取能力&#xff0c;因此会经常被应用到缓存的场景中&#xff0c;本文就一起看下Redis当做缓存使用时的特点&#xff0c;问题&#xff0c;以及需要注意的点。 1&#xff1a;缓存的架构模式 从架构模式上来看缓存系统可以分为旁路缓存&…

Kotlin 基础学习笔记第八章——高阶函数:Lambda作为形参和返回值

一、声明高阶函数 高阶函数定义&#xff1a;高阶函数就是以另一个函数作为参数或者返回值的函数。 在kotlin中&#xff0c;函数可以用lambda或者函数引用来表示。因此&#xff0c;任何以lambda或者函数引用作为参数的函数&#xff0c;或者返回值为lamda或函数应用的函数&#x…

基于遗传算法优化的lssvm回归预测-附代码

基于遗传算法优化的lssvm回归预测 - 附代码 文章目录基于遗传算法优化的lssvm回归预测 - 附代码1.数据集2.lssvm模型3.基于遗传算法优化的LSSVM4.测试结果5.Matlab代码摘要&#xff1a;为了提高最小二乘支持向量机&#xff08;lssvm&#xff09;的回归预测准确率&#xff0c;对…

使用openshift 进行云平台连接

使用openshift 进行云平台连接 OpenShift CLI on Windows openshift 文档地址 OpenShift CLI on Mac 通过Homebrew方式安装 brew install openshift-cli安装完成&#xff0c;进行验证 oc version服务连接 oc login 服务地址根据提示输入用户名和密码&#xff0c;即可连接…

某讯滑块验证码反汇编分析-第一章

某讯滑块验证码反汇编分析-第一章js分析初步分析vmp结构js分析 在滑动完成后&#xff0c;会请求【cap_union_new_verify】接口&#xff0c;其中有5个比较长的参数&#xff0c;看起来可能会有加密的&#xff0c;分别如下。 参数名来源uasesscollecteksvData 那现在js看看这些参…

让车机「下雨」,路特斯的智能座舱跑偏了吗?

HIEV消息&#xff08;文/张祥威&#xff09;“我们今天用双8155&#xff0c;都觉得&#xff08;算力&#xff09;还不够。”杨平说。 这位路特斯的智能座舱研发负责人&#xff0c;目前带领着一支两百多人的团队&#xff0c;为Eletre这款车操刀座舱智能化。 双8155&#xff0c;指…

Gitee应用(1):快速搭建Git环境在不同电脑同步文件

一、前言 环境&#xff1a;Windows 11 64位 &#xff1b;vscode&#xff1a;1.73.1 当你要操作在两台不同的电脑上操作&#xff0c;或许经常会遇到一个问题&#xff0c;就是怎么同步同一个或几个文件&#xff0c;以方便你在不同的电脑上进行同个文件内容的创作。 在申请了公司电…