当前位置: 首页 > java >正文

【无标题】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

 

2. 修改配置文件

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

vi 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

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

 

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

hdfs dfs -mkdir /directory

3) 修改 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 历史记录的个数,如果超过这个值,旧的应用程序信息将被删除,这个是内存中的应用数,而不是页面上显示的应用数。

4) 开启历史服务,并且重新提交应用

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 解压缩到无中文无空格的路径中。

 

 

2) 启动本地环境

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

 

 

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

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

 

http://www.xdnf.cn/news/1350.html

相关文章:

  • TCP 协议:原理、机制与应用
  • cursor改Goland操作习惯
  • 密码学(1)LWE,RLWE,MLWE的区别和联系
  • 校园外卖服务系统的设计与实现(代码+数据库+LW)
  • Transformer起源-Attention Is All You Need
  • 考研系列-计算机组成原理第一章:计算机系统概述
  • 【论文精读】Reformer:高效Transformer如何突破长序列处理瓶颈?
  • 23种设计模式-结构型模式之组合模式(Java版本)
  • Netty的心跳机制怎么实现的?
  • uniapp返回上一页接口数据更新了,页面未更新
  • 嵌入式WebRTC音视频实时通话EasyRTC助力打造AIOT智能硬件实时通信新生态
  • 【小皮(PHPstudy】
  • Collection集合,List集合,set集合,Map集合
  • 主流单片机厂商/系列、型号、内核、主频、Flash、RAM、关键外设、特殊功能、典型应用及选型对比与分析,
  • 学习海康VisionMaster之卡尺工具
  • 【redis】主从复制
  • MATLAB 下载安装教程
  • ubuntu系统下部署使用git教程
  • 第五章:Benchmark Framework
  • C# .NET Core 批量下载文件
  • 【最新版】沃德代驾源码全开源+前端uniapp
  • rust编程学习(三):8大容器类型
  • Linux:42线程控制lesson30
  • [进程通信] 管道 vs 共享内存 vs 网络
  • Linus的权限问题
  • 强化学习和微调 区别如下
  • PostgreSQL认证培训推荐机构
  • 动态提示词(小模型)、RAG和提示词系统
  • LLMs可在2位精度下保持高准确率
  • C语言高频面试题——sizeof和strlen的区别