【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

相关推荐
AI极客菌2 小时前
AI绘画工具中,为什么专业玩家爱用Stable Diffusion,普通玩家却喜欢Midjourney?
大数据·人工智能·ai·ai作画·stable diffusion·aigc·midjourney
腾视科技AI2 小时前
腾视科技大模型一体机解决方案:低成本私有化落地,重塑行业智能应用新格局
大数据·人工智能·科技·ai·边缘计算·算力·ai算力
金融支付架构实战指南3 小时前
支付系统 ES 实战案例:从索引创建到真实业务查询
大数据·elasticsearch·搜索引擎·支付
百胜软件@百胜软件5 小时前
从“数据孤岛”到“智利标杆”:百胜E3全渠道中台助力“名创优品”Newtree实现一体化智变
大数据·人工智能·零售数字化·数智中台·珠宝行业
lizhihai_995 小时前
股市学习心得-A股服务器/算力服务器龙头
大数据·运维·服务器·人工智能·科技·学习
AllData公司负责人6 小时前
大模型赋能AllData数据中台,系列升级|通过联合智谱大模型与BiSheng开源项目,建设企业大模型应用开发平台,支持知识库向量检索!
大数据·数据结构·数据库·算法·大模型·向量数据库·智谱ai
Antom全球收单6 小时前
面对多市场、多币种、多支付方式,Antom如何帮助企业搭建全球支付平台
大数据
数智化管理手记6 小时前
标准作业越推越虚?重塑认知、规避误区,破解精益落地形式主义
大数据·网络·精益工程
一只鹿鹿鹿6 小时前
网络安全评估方案
java·大数据·运维·物联网·web安全
人工智能培训7 小时前
打造行业知识图谱三步走
大数据·人工智能·机器学习·3d·知识图谱·agent