安装配置Spark集群

安装Spark集群主要包括以下步骤:

1、下载Spark安装包,在各节点中安装部署spark集群

2、配置整合

3、启动并测试

下载Spark

可以从官方网站下载合适的版本。当前环境已经提供了安装包,存放在 /opt/software目录下。

在node1节点上安装Spark

  • 解压安装Spark
[root@node1 ~]# cd /opt/software/
[root@node1 software]# tar -xzf spark.tar.gz -C /opt/module/
  • 配置Spark环境变量,修改系统配置文件/etc/profile。

输入【# vim /etc/profile】命令,编辑/etc/profile文件,增加如下内容:

export SPARK_HOME=/opt/module/spark/
export PATH=$PATH:$SPARK_HOME/bin

  • 使用【source  /etc/profile】命令使配置文件生效
[root@node1 software]# source /etc/profile
  • 进入/opt/module/spark/conf 配置文件夹
[root@node1 software]# cd $SPARK_HOME/conf
  • 配置spark-env.sh文件,配置过程如下:

使用【cp】命令,从spark-env.sh.template模板文件复制并创建spark-env.sh文件

[root@node1 conf]# cp spark-env.sh.template spark-env.sh

然后使用【 vim spark-env.sh】命令编辑该文件

[root@node1 conf]# vim spark-env.sh

添加如下内容:

export JAVA_HOME=/opt/module/jdk1.8.0_301
export HADOOP_CONF_DIR=/opt/module/hadoop/etc/hadoop

将node1节点上的Spark分别都拷贝到node2、node3节点上

  • 将配置好的Spark复制到其他节点对应位置上,通过scp命令发送。
[root@node1 conf]# scp -rq /opt/module/spark node2:/opt/module/
[root@node1 conf]# scp -rq /opt/module/spark node3:/opt/module/
  • 将配置好的环境变量/etc/profile复制到其他节点对应位置上,通过scp命令发送。
[root@node1 conf]# scp -rq /etc/profile node2:/etc/
[root@node1 conf]# scp -rq /etc/profile node3:/etc/

Spark配置的常见问题

  • Spark相关命令比较灵活,这里使用【 spark-shell --master yarn】进行测试,代码指定将Spark托管到YARN上
  • 由于YARN调度机制的问题,Spark的资源无法被正确申请,所以需要修改Hadoop中的yarn-site.xml
  • 进入node1的Hadoop配置目录
[root@node1 ~]# cd $HADOOP_HOME/etc/hadoop
  • 使用【vim】命令修改yarn-site.xml文件
[root@node1 hadoop]# vim yarn-site.xml 
  • 在yarn-site.xml文件的<configuration>标签内,添加如下配置

解释

<property> <!--是否启动一个线程检查每个任务正使用的物理内存量,如果任务超出分配值,则直接将其杀掉,默认是true --> <name>yarn.nodemanager.pmem-check-enabled</name> <value>false</value> </property> <property> <!--是否启动一个线程检查每个任务正使用的虚拟内存量,如果任务超出分配值,则直接将其杀掉,默认是true --> <name>yarn.nodemanager.vmem-check-enabled</name> <value>false</value> </property>

  • 修改完成后将更新的yarn-site.xml文件分发至node2、node3的Hadoop配置文件目录中
[root@node1 hadoop]# scp yarn-site.xml node2:/opt/module/hadoop/etc/hadoop/
[root@node1 hadoop]# scp yarn-site.xml node3:/opt/module/hadoop/etc/hadoop/

  • 在node1节点上,重启YARN集群
[root@node1 hadoop]# stop-yarn.sh
[root@node1 hadoop]# start-yarn.sh

测试Spark

  • 在node1节点上,首先上传一个文件至HDFS目录
[root@node1 ~]# cd $HADOOP_HOME/
[root@node1 hadoop]# hdfs dfs -put README.txt /
  • 进入Spark Shell
[root@node1 hadoop]# spark-shell --master yarn

  • 在Spark客户端执行如下代码,实现对HDFS上的 README.txt 文件的内容进行词频统计(即,统计每个单词在文档中出现的总次数),并将统计的结果保存到HDFS上的 /result目录下。
scala> sc.textFile("hdfs://node1:9000/README.txt").flatMap(line => line.split(" ")).map(word => (word,1)).reduceByKey((a,b) => a+b).saveAsTextFile("hdfs://node1:9000/result")
  • 输入【:quit】退出 Spark Shell
scala> :quit
  • 观察HDFS的/result目录中的数据,如果可以查看到词频统计的结果,则说明集群运行正常
[root@node1 hadoop]# hadoop fs -ls /result
[root@node1 hadoop]# hadoop fs -cat /result/part*

 

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

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

相关文章

SpringCloudAlibaba 网关gateway整合sentinel日志默认路径修改

SpringCloudAlibaba 网关gateway整合sentinel 实现网关限流熔断 问题提出 今天运维突然告诉我 在服务器上内存满了 原因是nacos日志高达3G,然后将日志文件发给我看了一下之后才发现是gateway整合sentinel使用了默认日志地址导致日志生成地址直接存在与根路径下而且一下存在多…

第16章——西瓜书强化学习

在强化学习中&#xff0c;智能体通过与环境的交互来学习如何做出决策。在每个时间步&#xff0c;智能体观察当前的环境状态&#xff0c;并根据其策略选择一个动作。环境会对智能体的动作做出响应&#xff0c;并给出一个奖励信号&#xff08;reward&#xff09;&#xff0c;该信…

安装zabbix

部署Zabbix监控平台 部署一台Zabbix监控服务器&#xff0c;一台被监控主机&#xff0c;为进一步执行具体的监控任务做准备&#xff1a; 安装LNMP环境源码安装Zabbix安装监控端主机&#xff0c;修改基本配置初始化Zabbix监控Web页面修改PHP配置文件&#xff0c;满足Zabbix需求…

zeta新增三个任务教程,即将刷新,速撸

这期是延续上期的教程&#xff0c;前面的任务不变&#xff0c;所以直接复制的前面的教程&#xff0c;多了三个任务更新在后面。 简单说一下&#xff0c;zeta是已经发币的公链项目&#xff0c;但是它社区还有6%的用户激励token份额没发完&#xff0c;做主网的几个简单任务可以获…

cudnn下载国内满速下载地址长期有效更新

【cudnn9.0.0】 cudnn-9.0.0-windows.exe下载地址&#xff1a;点我下载此版本 cudnn-linux-x86-64-9.0.0.312-cuda12-archive.tar.xz下载地址&#xff1a;点我下载此版本 cudnn-linux-x86-64-9.0.0.312-cuda11-archive.tar.xz下载地址&#xff1a;点我下载此版本 cudnn-windows…

「CISP题库精讲」CISP题库习题解析精讲5道

前言 本节只要对CISP考试中的5道习题进行详细的讲解,时间比较少,敲多少道,就算多少道,反正全部也就1400多道。 习题部分 第一题 某企业内网中感染了一种依靠移动存储进行传播的特洛伊木马病毒,由于企业部署的杀毒软件,为了解决该病毒在企业内部传播,作为信息化负责人…

XR技术:短剧制作的全新纪元

在数字技术的浪潮中&#xff0c;XR&#xff08;扩展现实&#xff09;技术以其独特的魅力&#xff0c;正在为短剧制作带来革命性的突破。这种融合了虚拟现实、增强现实和混合现实等先进技术的创新工具&#xff0c;正逐渐改变着短剧制作的传统模式&#xff0c;引领着短剧艺术走向…

python 常用保留字(关键字)

Python中的保留字&#xff08;也称为关键字&#xff09;是那些被编程语言语法赋予了特殊意义的单词。这些词不能用作标识符&#xff0c;例如变量名、函数名或任何其他用户定义的名字。每个保留字都有其特定的用途和规则。 截至Python 3.8版本&#xff0c;Python的保留字有以下…

文章解读与仿真程序复现思路——电网技术EI\CSCD\北大核心《含海上风电制氢的综合能源系统分布鲁棒低碳优化运行》

本专栏栏目提供文章与程序复现思路&#xff0c;具体已有的论文与论文源程序可翻阅本博主免费的专栏栏目《论文与完整程序》 论文与完整源程序_电网论文源程序的博客-CSDN博客https://blog.csdn.net/liang674027206/category_12531414.html 电网论文源程序-CSDN博客电网论文源…

U盘文件剪切丢失如何挽救?专家教你两招轻松恢复

一、遭遇U盘文件剪切丢失&#xff0c;你该怎么办&#xff1f; 在日常办公和生活中&#xff0c;U盘作为便捷的移动存储设备&#xff0c;常常承载着重要的文件和数据。然而&#xff0c;有时我们会遇到这样一个令人头疼的问题&#xff1a;明明在电脑上将U盘中的文件剪切到了某个位…

【ST-基础】

ST-基础 ■ STM32 启动过程■■■ ■ STM32 启动过程 问题&#xff1a;介绍以下STM32启动过程&#xff1f; 解答&#xff1a; 通过Boot引脚设定,寻找初始地址 初始化栈指针 __initial_sp 指向复位程序 Reset_Hander 设置异常中断 HardFault_Handler 设置系统时钟 SystemInit 调…

Android Jetpack Compose基础之State状态

Android Jetpack Compose基础之State状态 Stateless和Stateful什么是Stateless&#xff0c;让我看下面代码Stateless它有什么特点呢Stateless它是如何实现避免无效重组的呢什么是Stateful&#xff0c;让我看下面代码 Compose中的State<T>State子类之MutableState 状态的恢…

SQL 中: 索引的建立和删除

目录 实验过程创建索引修改索引删除索引查询索引查看索引信息分析索引待续、更新中 实验过程 1 在STUDENT表的sno列上创建一个非聚簇索引&#xff0c;索引名为“student_sno_idx”。 CREATE INDEX student_sno_idx ON STUDENT (sno);2.在STUDENT表上按sno的升序&#xff0c;…

2024-简单点-深度学习下的边缘检测资料

1 OpenCV4 调用HED边缘检测算法 CVPR 2022&#xff0c;边缘检测 EDTER: Edge Detection with Transformer DexiNed

【Java】:按位与、按位或

按位与运算符&#xff08; & &#xff09; 当且仅当两个操作数的二进制的某一位均非0时&#xff0c;该位的结果才为1。 int a 5; int b 3; int c a & b; //c 1// 0 1 0 1 a 5 // 0 0 1 1 b 3 // 0 0 0 1 c 1按位或操作符&#xff08; | &#xff09;&#xff…

【脚本玩漆黑的魅影】全自动对战宫殿

文章目录 原理主要代码全部代码 原理 对战宫殿是让宠物自己打&#xff0c;不需要我们选技能&#xff0c;所以用来刷对战点数很合适。 需要准备三个主力。 主要是根据屏幕截图进行各种操作。 1&#xff0c;外面的对话&#xff0c;除了选自由级以外&#xff0c;其他都是直接点…

Exception异常处理

1. 两种异常处理机制 1.1 使用 throw 关键字手动抛出异常 使用throw关键字抛出异常&#xff0c;代码会的显得简单明了 如下图所示 1.2 使用 try-catch 捕获异常 使用try-catch进行捕获异常&#xff0c;往往会使代码变得更加笼统&#xff0c;层层包裹 如下图所示 2. 自定义…

无限连接的未来:Wi-Fi技术的演进、奥秘与前沿探索

Wi-Fi的历史与发展 Wi-Fi&#xff0c;全称是“Wireless Fidelity”&#xff0c;中文通常翻译为“无线保真”。它是一种允许电子设备通过无线网络连接到互联网的技术。Wi-Fi技术最早由Wi-Fi联盟&#xff08;原IEEE 802.11标准工作组&#xff09;在1997年提出&#xff0c;目的是…

SystemUI 解析

首语 SystemUI(System User Interface)是Android 系统为用户提供的系统级别的信息显示与交互的UI组件应用程序&#xff0c;包含状态栏、导航栏、锁屏、通知面板、快速设置、最近任务等&#xff0c;它们各部分独立&#xff0c;各尽其责。 SystemUI是一个常驻应用程序&#xff…

mybatisplus的条件构造器

条件构造器wrapper&#xff0c;主要用于构造sql语句的where条件&#xff0c;他更擅长这个&#xff0c;但也可以用于构造其他类型的条件&#xff0c;比如order by、group by等。 条件构造器的使用经验&#xff1a; 基于QueryWrapper的查询 练习1. void testQueryWrapper(){Q…