【Spark实战】Windows环境下编译Spark2 Linux上部署Spark On Yarn

Windows环境下编译Spark2

环境准备

  • git-2.14.1
  • maven-3.9.2
  • jdk-1.8
  • scala-2.11.8
  • zinc-0.3.15 主下载地址
  • spark-2.3.4 github官方地址

编译准备

  1. maven远程仓库使用的是阿里云的

  2. 解压源码包spark-2.3.4.zip,修改根模块的pom文件。主要目的是为了变更hadoop的版本号,默认是2.6.5

<hadoop.version>2.9.2</hadoop.version>
  1. 修改spark-2.3.4\dev\make-distribution.sh文件
# 增加mvn的内存
export MAVEN_OPTS="${MAVEN_OPTS:--Xmx4g -XX:ReservedCodeCacheSize=512m}"# 跳过maven命令检查版本块,直接赋予版本# VERSION=$("$MVN" help:evaluate -Dexpression=project.version $@ 2>/dev/null | grep -v "INFO" | tail -n 1)
# SCALA_VERSION=$("$MVN" help:evaluate -Dexpression=scala.binary.version $@ 2>/dev/null\
#     | grep -v "INFO"\
#     | tail -n 1)
# SPARK_HADOOP_VERSION=$("$MVN" help:evaluate -Dexpression=hadoop.version $@ 2>/dev/null\
#     | grep -v "INFO"\
#     | tail -n 1)
# SPARK_HIVE=$("$MVN" help:evaluate -Dexpression=project.activeProfiles -pl sql/hive $@ 2>/dev/null\
#     | grep -v "INFO"\
#     | 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)VERSION=2.3.4
SCALA_VERSION=2.11
SPARK_HADOOP_VERSION=2.9.2
SPARK_HIVE=1
  1. 为了加速编译

    将zinc-0.3.15和scala-2.11.8解压到spark-2.3.4\build

在这里插入图片描述

  1. 执行编译

    采用编译成像 Spark 下载页面分发的那样的 Spark 发行版那样,在Git bash下使用 ./dev/make-distribution.sh

     ./dev/make-distribution.sh --tgz -Pyarn -Phive -Phive-thriftserve
    

在这里插入图片描述
在这里插入图片描述

编译结果包spark-2.3.4-bin-2.9.2.tgz

Linux上部署Spark On Yarn

安装前提

  • JDK1.8

部署关键步骤

解压缩spark-2.3.4-bin-2.9.2.tgz

tar -zxvf /opt/software_package/spark-2.3.4-bin-2.9.2.tgz -C /opt/software/bigdata/

配置hadoop变量,主要配置HADOOP_CONF_DIRYARN_CONF_DIRHDFS_CONF_DIR,需要的目录就是Hadoop集群(HDFS、Yarn)的配置文件。

vim ~/.bashrc# java config
export JAVA_HOME=/home/bigdata/software/java
export PATH=$JAVA_HOME/bin:$PATH# hadoop config 
export HADOOP_CONF_DIR=/home/bigdata/software/hadoop/etc/hadoop
export YARN_CONF_DIR=/home/bigdata/software/hadoop/etc/hadoop
export LD_LIBRARY_PATH=/home/bigdata/software/hadoop/lib/nativesource ~/.bashrc

验证

[bigdata@spark2host01 spark2]$ ./bin/spark-submit --class org.apache.spark.examples.SparkPi --master yarn --num-executors 3 --driver-memory 1g --executor-memory 1g --executor-cores 1 examples/jars/spark-examples*.jar 10

成功执行即可。

开启spark-shell交互终端,可以打开WebUI界面

[bigdata@spark2host01 spark2]$ ./bin/spark-shell
[bigdata@spark2host01 spark2]$ ./bin/spark-shell
23/07/04 20:41:25 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Setting default log level to "WARN".
To adjust logging level use sc.setLogLevel(newLevel). For SparkR, use setLogLevel(newLevel).
Spark context Web UI available at http://IP:4040
Spark context available as 'sc' (master = local[*], app id = local-1688474490456).
Spark session available as 'spark'.
Welcome to____              __/ __/__  ___ _____/ /___\ \/ _ \/ _ `/ __/  '_/
/___/ .__/\_,_/_/ /_/\_\   version 2.3.4/_/Using Scala version 2.11.8 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_131)
Type in expressions to have them evaluated.
Type :help for more information.

UI默认端口4040:http://IP:4040

在这里插入图片描述

使用:quit退出交互。

部署Spark-SQL

前提

  1. 需要使用hive中的hive-site.xml文件:需要使用hive中的hive-site.xml文件。拷贝到spark的配置文件夹下/home/bigdata/software/spark2/conf。需要确认hive-site.xml下的hive.metastore.warehouse.dir属性。
  2. mysql-connector-java-8.0.29.jar:将mysql连接的包放到/home/bigdata/software/spark2/jars下。hive的元数据存储数据库使用的mysql。

启动

[bigdata@spark2host01 spark2]$./bin/spark-sql --master yarn

在这里插入图片描述

使用exit退出。

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【数据可视化】大作业(意向考研高校的数据可视化)

文章目录 前言一、数据介绍1.1 基本信息1.2 考研信息1.3 导师信息 二、预处理及分析2.1 数据预处理2.1.1 考研信息预处理2.1.2 导师信息预处理 2.2 数据分析 三、可视化方法及结果3.1 可视化方法3.2 可视化结果展示3.2.1 基本信息3.2.2 考研信息3.2.3 导师信息 四、总结五、附录…

git 获取两个版本间的变更文件,生成增量包

可用于代码在无git环境情况下的做增量包 注意&#xff1a;版本号1一般是上一次版本的结束。 #下面命令可以获取两个版本直接的变更文件git diff 版本号1 版本号2 --name-only git diff 版本号1 版本号2 --name-only | xargs zip update.zip 牛逼之处就是打出来的压缩包是带…

89C52RC普中单片机-4

20230629 Thusday lcd1602代码 lcd1602.c #include <REGX52.H>//引脚配置&#xff1a; sbit LCD_RSP2^6; sbit LCD_RWP2^5; sbit LCD_ENP2^7; #define LCD_DataPort P0//函数定义&#xff1a; /*** brief LCD1602延时函数&#xff0c;12MHz调用可延时1ms* param 无*…

论文笔记--GPT-4 Technical Report

论文笔记--GPT-4 Technical Report 1. 报告简介2. 报告概括3 报告重点内容3.1 Predictable Scaling3.2 Capabilities3.3 limitations3.3 Risks & mitigations 4. 报告总结5. 报告传送门6. References 1. 报告简介 标题&#xff1a;GPT-4 Technical Report作者&#xff1a;…

uniapp怎么把px转换成对应手机型号的rpx

首先获取系统手机屏幕的宽度系统信息的概念 | uni-app官网&#xff0c;然后根据公式转换 rpx 750*元素 B 在设计稿上的宽度为 多少px/手机屏幕的宽度 详见&#xff1a;CSS 支持 | uni-app官网 如下为把宽度为1px的转成对应手机型号的rpx uni.getSystemInfo({success(res) {co…

LeetCode 打卡day54-55 动态规划之编辑距离问题

一个人的朝圣 — LeetCode打卡第54-55天 知识总结 Leetcode 392. 判断子序列题目说明代码说明 Leetcode 115. 不同的子序列题目说明代码说明 Leetcode 583. 两个字符串的删除操作题目说明代码说明 Leetcode 72. 编辑距离题目说明代码说明 知识总结 今天学习动态规划里面的编辑…

uni-app 微信小程序发布时,主包超过2M限制

小程序发布时&#xff0c;提示超过2M&#xff0c;无法通过&#xff0c;此时可以尝试以下几种方法&#xff1a; 1、对图片做压缩 图片尽量放在服务器端&#xff0c;使用的时候&#xff0c;通过URL路径获取&#xff0c;若不得已放在本地时&#xff0c;可以对图片进行压缩&#…

InsCode Stable Diffusion 美图活动投稿

本地部署可以使用B站大佬秋叶的整合包 CSDN亦提供了Stable Diffusion 模型在线使用地址&#xff1a;https://inscode.csdn.net/inscode/Stable-Diffusion 模型相关版本和参数配置&#xff1a; 模型&#xff1a;cetusversion4.WRgK.safetensors [b42b09ff12] VAE&#xff1a;y…

MySQL - 第14节 - MySQL使用C语言连接

1.引入库 要使用C语言连接MySQL&#xff0c;需要使用MySQL官网提供的库。 1.1.下载库文件 下载库文件&#xff1a; 首先&#xff0c;进入MySQL官网&#xff0c;选择DEVELOPER ZONE&#xff08;开发人员专区&#xff09;&#xff0c;然后点击MySQL Downloads。如下&#xff1a; …

黑马头条-day02

文章目录 前言一、文章列表加载1.1 需求分析1.2 表结构分析1.3 导入文章数据库1.4 实现思路1.5 接口定义1.6 功能实现 二、freemarker2.1 freemarker简介2.2 环境搭建&&快速入门2.2.1 创建测试工程 2.3 freemarker基础2.3.1 基础语法种类2.3.2 集合指令2.3.3 if指令2.3…

3.Hive SQL数据定义语言(DDL)

1. 数据定义语言概述 1.1 常见的开发方式 &#xff08;1&#xff09; Hive CLI、Beeline CLI Hive自带的命令行客户端 优点&#xff1a;不需要额外安装 缺点&#xff1a;编写SQL环境恶劣&#xff0c;无有效提示&#xff0c;无语法高亮&#xff0c;误操作率高 &#xff08;2&…

UE5《Electric Dreams》项目PCG技术解析 之 PCGDemo_Ditch关卡详解

文章目录 前导文章关卡概要PCGGraphPoints From Actor Tag作为PCG的分割工具分层装饰 一些知识点和技巧使用Attribute Operation将属性暂存到临时属性中是否生成碰撞 小结 前导文章 《UE5《Electric Dreams》项目PCG技术解析 之 基于关卡PCGSettings的工作流》《UE5《Electric…