【Spark征服之路-2.2-安装部署Spark(二)】

实验目标:

本节课实验将完成Spark 4种部署模式的另外2种,分别是Yarn、windows模式。

实验准备工作:
  1. 三台linux虚拟机
  2. spark的压缩包
实验步骤
Spark-yarn
  1. 解压缩文件,并重命名为spark-yarn。

tar zxvf spark-3.0.0-bin-hadoop3.2.tgz

mv spark-3.0.0-bin-hadoop3.2 spark-yarn

  1. 修改配置文件

(1)修改hadoop配置文件/opt/software/hadoop/hadoop-2.9.2/etc/hadoop/yarn-site.xml,并分发给其他节点。

①修改配置文件:

是否启动一个线程检查每个任务正使用的虚拟内存量,如果任务超出分配值,则直接将其杀掉,默认是 true

<property>

<name>yarn.nodemanager.vmem-check-enabled</name>

<value>false</value>

</property>

是否启动一个线程检查每个任务正使用的物理内存量,如果任务超出分配值,则直接将其杀掉,默认是 true

<property>

<name>yarn.nodemanager.pmem-check-enabled</name>

<value>false</value>

</property>

②分发给其他节点:

(2)返回到spark-yarn目录,修改conf/spark-env.sh,添加 JAVA_HOME 和 YARN_CONF_DIR 配置。

mv spark-env.sh.template spark-env.sh

v i spark-env.sh

(3)启动HDFS以及Yarn集群

(4)提交测试应用

bin/spark-submit \

--class org.apache.spark.examples.SparkPi \

--master yarn \

--deploy-mode cluster \

./examples/jars/spark-examples_2.12-3.0.0.jar \

10

查看node01:8088页面

配置历史服务

由于 spark-shell 停止掉后,集群监控 node01:4040 页面就看不到历史任务的运行情况,所以 开发时都配置历史服务器记录任务运行情况。

  1. 修改 spark-defaults.conf.template 文件名为 spark-defaults.conf

mv spark-defaults.conf.template spark-defaults.conf

  1. 修改 spark-default.conf 文件,配置日志存储路径

注意: 需要启动 hadoop 集群,HDFS 上的 directory 目录需要提前存在。

h d fs dfs -mkdir /directory

  1. 修改 spark-env.sh 文件, 添加日志配置

export SPARK_HISTORY_OPTS="

-Dspark.history.ui.port=18080

-Dspark.history.fs.logDirectory=hdfs://node01:9000/directory

-Dspark.history.retainedApplications=30"

参数含义:

⚫ 参数 1 含义:WEB UI 访问的端口号为 18080

⚫ 参数 2 含义:指定历史服务器日志存储路径

⚫ 参数 3 含义:指定保存 Application 历史记录的个数,如果超过这个值,旧的应用程序信息将被删除,这个是内存中的应用数,而不是页面上显示的应用数。

  1. 开启历史服务,并且重新提交应用

sbin /start-history-server.sh

bin/spark-submit \

--class org.apache.spark.examples.SparkPi \

--master yarn \

--deploy-mode cluster \

./examples/jars/spark-examples_2.12-3.0.0.jar \

10

Windows 模式
  1. 将文件 spark-3.0.0-bin-hadoop3.2.tgz 解压缩到无中文无空格的路径中。
  1. 启动本地环境

执行解压缩文件路径下 bin 目录中的 spark-shell.cmd 文件,启动 Spark 本地环境

在命令行工具中执行如下代码指令。

sc.textFile("data/word.txt").flatMap(.split(" ")).map((,1)).reduceByKey(+).collect

相关推荐
鹏说大数据4 小时前
Spark 和 Hive 的关系与区别
大数据·hive·spark
B站计算机毕业设计超人4 小时前
计算机毕业设计Hadoop+Spark+Hive招聘推荐系统 招聘大数据分析 大数据毕业设计(源码+文档+PPT+ 讲解)
大数据·hive·hadoop·python·spark·毕业设计·课程设计
B站计算机毕业设计超人4 小时前
计算机毕业设计hadoop+spark+hive交通拥堵预测 交通流量预测 智慧城市交通大数据 交通客流量分析(源码+LW文档+PPT+讲解视频)
大数据·hive·hadoop·python·spark·毕业设计·课程设计
数据架构师的AI之路4 小时前
深入了解大数据领域Hive的HQL语言特性
大数据·hive·hadoop·ai
L***一4 小时前
大数据技术专业中专生职业发展路径探析
大数据
woshikejiaih4 小时前
**播客听书与有声书区别解析2026指南,适配不同场景的音频
大数据·人工智能·python·音视频
无忧智库4 小时前
某市“十五五“智慧气象防灾减灾精准预报系统建设方案深度解读 | 从“看天吃饭“到“知天而作“的数字化转型之路(WORD)
大数据·人工智能
AllData公司负责人5 小时前
AllData数据中台-数据同步平台【Seatunnel-Web】整库同步MySQL同步Doris能力演示
大数据·数据库·mysql·开源
acrelwwj5 小时前
智慧照明新引擎,ASL600 4GWJ开启城市照明精细化管理新时代
大数据·经验分享·物联网
2501_943695335 小时前
高职大数据技术专业,怎么参与开源数据分析项目积累经验?
大数据·数据分析·开源