阶段三:项目开发---大数据开发运行环境搭建:任务4:安装配置Spark集群

任务描述

知识点:安装配置Spark 

重  点: 安装配置Spark 

难  点:无

内  容

        Apache Spark 是专为大规模数据处理而设计的快速通用的计算引擎。Spark是UC Berkeley AMP lab (加州大学伯克利分校的AMP实验室)所开源的类Hadoop MapReduce的通用并行框架,Spark,拥有Hadoop MapReduce所具有的优点;但不同于MapReduce的是Job中间输出结果可以保存在内存中,从而不再需要读写HDFS,因此Spark能更好地适用于数据挖掘与机器学习等需要迭代的MapReduce的算法。

        本任务主要内容是安装配置Spark,并搭建Spark HA高可用架构。

任务指导

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

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

2、配置整合

3、启动并测试

注:Spark的运行方式分为三种,这里使用在工作中最常用的方式 Spark on YARN,将Spark托管到YARN上运行

任务实现

1. 下载Spark

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

2. 在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

3. 将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/

4. 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

5. 测试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/diannao/42701.shtml

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

相关文章

Bean的管理

1.主动获取Bean spring项目在需要时&#xff0c;会自动从IOC容器中获取需要的Bean 我们也可以自己主动的得到Bean对象 &#xff08;1&#xff09;获取bean对象&#xff0c;首先获取SpringIOC对象 private ApplicationContext applicationContext //IOC容器对象 (2 )方法…

昇思25天学习打卡营第13天 | ShuffleNet图像分类

ShuffleNet网络介绍 ShuffleNetV1是旷视科技提出的一种计算高效的CNN模型&#xff0c;和MobileNet, SqueezeNet等一样主要应用在移动端&#xff0c;所以模型的设计目标就是利用有限的计算资源来达到最好的模型精度。ShuffleNetV1的设计核心是引入了两种操作&#xff1a;Pointw…

ExcelVBA运用Excel的【条件格式】(二)

ExcelVBA运用Excel的【条件格式】&#xff08;二&#xff09;前面知识点回顾1. 访问 FormatConditions 集合 Range.FormatConditions2. 添加条件格式 FormatConditions.Add 方法语法表达式。添加 (类型、 运算符、 Expression1、 Expression2)3. 修改或删除条件格式4. …

如何在Spring Boot中实现动态多语言支持

如何在Spring Boot中实现动态多语言支持 大家好&#xff0c;我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01; 一、引言 随着全球化市场的发展&#xff0c;多语言支持已经成为现代…

密码技术中分组模式解析

目录 1. 概述 2. ECB模式 2.1 概述 2.2 ECB模式的加密 2.3 ECB模式的解密 2.4 优点 2.5 缺点 3. CBC模式【推荐】 3.1 概述 3.2 CBC模式的加密 3.3 CBC模式的解密 3.4 优点 3.5 缺点 4. CFB模式 4.1 概述 4.2 CFB模式的加密 4.3 CFB模式的解密 4.4 优点 4.…

智慧地产视觉监控系统开源了,系统采用多种优化技术,提高系统的响应速度和资源利用率

智慧地产视觉监控平台是一款功能强大且简单易用的实时算法视频监控系统。它的愿景是最底层打通各大芯片厂商相互间的壁垒&#xff0c;省去繁琐重复的适配流程&#xff0c;实现芯片、算法、应用的全流程组合&#xff0c;从而大大减少企业级应用约95%的开发成本。用户只需在界面上…

Python打开Excel文档并读取数据

Python 版本 目前 Python 3 版本为主流版本&#xff0c;这里测试的版本是&#xff1a;Python 3.10.5。 常用库说明 Python 操作 Excel 的常用库有&#xff1a;xlrd、xlwt、xlutils、openpyxl、pandas。这里主要说明下 Excel 文档 .xls 格式和 .xlsx 格式的文档打开和读取。 …

Drools开源业务规则引擎(二)- Drools规则语言(DRL)

文章目录 1.DRL文件的组成&#xff1a;2.package3.import4.function5.query6.declare7.global8.rule8.1.规则属性8.2.LHS8.2.1.语法格式8.2.2.运算符优先级8.2.3.特殊的运算符1.matches, not matches2.contains, not contains3.memberOf, not memberOf4.in, notin5.soundslike6…

Powershell 获取电脑保存的所有wifi密码

一. 知识点 netsh wlan show profiles 用于显示计算机上已保存的无线网络配置文件 Measure-Object 用于统计数量 [PSCustomObject]{ } 用于创建Powershell对象 [math]::Round 四舍五入 Write-Progress 显示进度条 二. 代码 只能获取中文Windows操作系统的wifi密码如果想获取…

护网在即,助力安服仔漏洞扫描~

整合了个漏扫系统&#xff0c;安服仔必备~ 使用场景 网前布防&#xff0c;漏洞扫描&#xff0c;资产梳理 使用方法&#xff1a; 启动虚拟机后运行命令&#xff1a; ./StartSystemScript.sh 输入密码attack 启动完成后浏览器打开网站&#xff1a; http://IP:5000 相关账户…

Git 常用命令备忘

1、删除 (1)、git push origin --delete dev 删除远程分支 (2)、git branch -d dev 删除本地分支 git branch -D dev 强制删除本地分支 2、创建分支 (1)、git checkout -b dev 创建本地分支 (2)、git push origin dev 创建远程分支&#xff0c;此时本地分支与远程…

02-android studio实现下拉列表+单选框+年月日功能

一、下拉列表功能 1.效果图 2.实现过程 1&#xff09;添加组件 <LinearLayoutandroid:layout_width"match_parent"android:layout_height"wrap_content"android:layout_marginLeft"20dp"android:layout_marginRight"20dp"android…

表单验证的艺术:WebKit 支持 HTML 表单的全面解析

表单验证的艺术&#xff1a;WebKit 支持 HTML 表单的全面解析 在 Web 开发的多彩世界中&#xff0c;表单是用户与网页交互的重要桥梁。WebKit 作为众多现代浏览器的渲染引擎&#xff0c;提供了强大的 HTML 表单支持和验证功能。本文将深入探讨 WebKit 如何支持 HTML 表单和进行…

力扣225题解析:使用队列实现栈的三种解法(Java实现)

引言 在算法和数据结构中&#xff0c;如何用队列实现栈是一个常见的面试题和实际应用问题。本文将探讨力扣上的第225题&#xff0c;通过不同的方法来实现这一功能&#xff0c;并分析各种方法的优劣和适用场景。 问题介绍 力扣225题目要求我们使用队列实现栈的下列操作&#…

【CMake】基本概念和快速入门

#1. install 是什么 在CMake或项目构建中&#xff0c;install步骤通常指的是将生成的可执行文件、库文件、头文件和其他资源复制到指定的安装目录&#xff0c;以便进行发布、部署或在其他项目中使用。这个过程通常包括以下内容&#xff1a; 1. 安装目标 安装目标是指需要安装…

运维系列.Nginx中使用HTTP压缩功能

运维专题 Nginx中使用HTTP压缩功能 - 文章信息 - Author: 李俊才 (jcLee95) Visit me at CSDN: https://jclee95.blog.csdn.netMy WebSite&#xff1a;http://thispage.tech/Email: 291148484163.com. Shenzhen ChinaAddress of this article:https://blog.csdn.net/qq_28550…

【刷题汇总--字符串中找出连续最长的数字串、岛屿数量、拼三角】

C日常刷题积累 今日刷题汇总 - day0071、字符串中找出连续最长的数字串1.1、题目1.2、思路1.3、程序实现 -- 比较1.4、程序实现 -- 双指针 2、岛屿数量2.1、题目2.2、思路2.3、程序实现 - dfs 3、拼三角3.1、题目3.2、思路3.3、程序实现 -- 蛮力法3.4、程序实现 -- 巧解(单调性…

pwm 呼吸灯(如果灯一直亮或者一直灭)

&#xff08;这个文章收藏在我的csdn keil文件夹下面&#xff09; 如果这样设置预分频和计数周期&#xff0c;那么算出来的pwm频率如下 人眼看起来就只能是一直亮或者灭&#xff0c;因为pwm的频率太高了&#xff0c;但是必须是频率够高&#xff0c;才能实现呼吸灯的缓慢亮缓慢…

SPL-404:如何彻底改变Solana上的NFT与DeFi

在不断发展的数字资产领域中&#xff0c;非同质化Token&#xff08;NFT&#xff09;已成为一股革命性力量&#xff0c;彻底改变了我们对数字所有权的看法和互动方式。从艺术和收藏品到游戏和虚拟房地产&#xff0c;NFT吸引了创作者、投资者和爱好者的想象力。 本指南将带您进入…

MySQL数据库文件在Linux下存放位置

数据库文件默认在&#xff1a;cd /usr/share/mysql 配置文件默认在&#xff1a;/etc/my.cnf 数据库目录&#xff1a;/var/lib/mysql/ 配置文件&#xff1a;/usr/share/mysql(mysql.server命令及配置文件) 相关命令&#xff1a;/usr/bin(mysqladmin、mysqldump等命令)(*mysql的一…