七,Linux基础环境搭建(CentOS7)- 安装Scala和Spark

Linux基础环境搭建(CentOS7)- 安装Scala和Spark

大家注意以下的环境搭建版本号,如果版本不匹配有可能出现问题!


一、Scala下载及安装

Scala是一门多范式的编程语言,一种类似java的编程语言,设计初衷是实现可伸缩的语言 、并集成面向对象编程和函数式编程的各种特性。 在这里插入图片描述

Scala的下载

Scala下载链接:https://pan.baidu.com/s/1xe2u5W7k0XzZFX2r2Sk7Ag

提取码:pwu7

将下载的安装包通过Xftp传输到Linux虚拟机中

Scala安装

创建工作路径/usr/scala,下载scala安装包到/opt/software中,然后解压至工作路径。

mkdir /usr/scala	#创建工作路径
cd /opt/software		#进入安装包的文件夹
tar -zxvf scala-2.11.12.tgz -C /usr/scala/	#解压zookeeper
cd /usr/scala/scala-2.11.12/

二、配置Scala环境变量

修改/etc/profile文件,配置scala环境变量。

vim /etc/profile
#set scala
export SCALA_HOME=/usr/scala/scala-2.11.12
export PATH=$PATH:$SCALA_HOME/bin
在这里插入图片描述
source /etc/profile		#生效环境变量
scala -version			#查看scala是否安装成功
在这里插入图片描述

如果出现版本号,表示scala安装成功

三、同步其他虚拟机

以上已经在主节点master上配置完成Scala,现在可以将该配置好的安装文件远程拷贝到集群中的各个结点对应的目录下:(在master执行)

scp -r /etc/profile root@slave1:/etc/profile	#将环境变量profile文件分发到slave1节点
scp -r /etc/profile root@slave2:/etc/profile	#将环境变量profile文件分发到slave2节点
scp -r /usr/scala root@slave1:/usr/			#将scala文件分发到slave1节点
scp -r /usr/scala root@slave2:/usr/			#将scala文件分发到slave2节点

生效两个从节点的环境变量

source /etc/profile		#slave1和slave2都要执行

四、Spark下载及安装

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

Spark 是一种与 Hadoop 相似的开源集群计算环境,但是两者之间还存在一些不同之处,这些有用的不同之处使 Spark 在某些工作负载方面表现得更加优越,换句话说,Spark 启用了内存分布数据集,除了能够提供交互式查询外,它还可以优化迭代工作负载。

Spark 是在 Scala 语言中实现的,它将 Scala 用作其应用程序框架。与 Hadoop 不同,Spark 和 Scala 能够紧密集成,其中的 Scala 可以像操作本地集合对象一样轻松地操作分布式数据集。

尽管创建 Spark 是为了支持分布式数据集上的迭代作业,但是实际上它是对 Hadoop 的补充,可以在 Hadoop 文件系统中并行运行。通过名为 Mesos 的第三方集群框架可以支持此行为。Spark 由加州大学伯克利分校 AMP 实验室 (Algorithms, Machines, and People Lab) 开发,可用来构建大型的、低延迟的数据分析应用程序。

在这里插入图片描述
Spark的下载

Spark下载链接:https://pan.baidu.com/s/1okd5CVchekRqtUbL9zF-eA

提取码:n8fi

将下载的安装包通过Xftp传输到Linux虚拟机中

Spark安装

创建工作路径/usr/spark,下载spark安装包到/opt/software中,然后解压至工作路径。

mkdir /usr/spark	#创建工作路径
cd /opt/software		#进入安装包的文件夹
tar -zxvf spark-2.4.1-bin-hadoop2.7.tgz -C /usr/spark/	#解压spark
cd /usr/spark/spark-2.4.1-bin-hadoop2.7/

五、配置spark-env.sh文件

配置文件spark-env.sh,进入spark配置文件夹conf,将spark-env.sh.template文件拷贝一份命名为spark-env.sh,spark在启动时会找这个文件作为默认配置文件。

cd /usr/spark/spark-2.4.1-bin-hadoop2.7/conf/
cp spark-env.sh.template spark-env.sh

对spark-env.sh文件配置如下:(在master执行)

vim spark-env.sh

添加如下内容:

export SPARK_MASTER_IP=master
export SCALA_HOME=/usr/scala/scala-2.11.12
export SPARK_WORKER_MEMORY=8g
export JAVA_HOME=/usr/java/jdk1.8.0_171
export HADOOP_HOME=/usr/hadoop/hadoop-2.7.3
export HADOOP_CONF_DIR=/usr/hadoop/hadoop-2.7.3/etc/hadoop
在这里插入图片描述

六、配置Spark从节点,修改slaves文件

注意slaves节点中只包含节点信息,其他注释不需要

cd /usr/spark/spark-2.4.1-bin-hadoop2.7/conf/
cp slaves.template slaves
vim slaves

添加如下内容:

master
slave1
slave2

七、配置Spark环境变量

修改/etc/profile文件,配置Spark环境变量。

vim /etc/profile
#set spark
export SPARK_HOME=/usr/spark/spark-2.4.1-bin-hadoop2.7
export PATH=$PATH:$SPARK_HOME/bin
在这里插入图片描述
source /etc/profile		#生效环境变量

八、同步其他虚拟机

以上已经在主节点master上配置完成spark,现在可以将该配置好的安装文件远程拷贝到集群中的各个结点对应的目录下:(在master执行)

scp -r /etc/profile root@slave1:/etc/profile	#将环境变量profile文件分发到slave1节点
scp -r /etc/profile root@slave2:/etc/profile	#将环境变量profile文件分发到slave2节点
scp -r /usr/spark root@slave1:/usr/			#将scala文件分发到slave1节点
scp -r /usr/spark root@slave2:/usr/			#将scala文件分发到slave2节点

生效两个从节点的环境变量

source /etc/profile		#slave1和slave2都要执行

九、开启Spark环境(master节点)

/usr/spark/spark-2.4.1-bin-hadoop2.7/sbin/start-all.sh
jps		#三个节点

master节点 在这里插入图片描述

slave1节点 在这里插入图片描述

slave2节点 在这里插入图片描述

因为我们只设置了slave1和slave2两个Worker 所以只要master节点的进程有Master,slave1和slave2节点都有Worker,即代表启动成功!

十、Spark客户端连接

cd /usr/spark/spark-2.4.1-bin-hadoop2.7/bin/
spark-shell --master spark://master:7077

若出现以下界面,则代表连接成功 在这里插入图片描述

十一、查看Spark集群状态

在浏览器输入localhost:8080,如图: 在这里插入图片描述 如果情况一样的话,就成功安装好scala和spark啦~

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

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

相关文章

合并数组的两种常用方法比较

在 JavaScript 中,合并数组的两种常用方法是使用扩展运算符 (...) 和使用 push 方法。 使用扩展运算符 this.items [...this.items, ...data.items]; 优点: 易于理解:使用扩展运算符的语法非常直观,表达了“将两个数组合并成一个…

24.redis高性能

Redis的单线程和高性能 Redis是单线程吗? Redis 的单线程主要是指 Redis 的网络 IO 和键值对读写是由一个线程来完成的,这也是 Redis 对外 提供键值存储服务的主要流程。 Redis 的多线程部分,比如持久化、异步删除、集群数据同步等&#xff…

合合信息亮相PRCV大会,探讨生成式AI时代的内容安全与系统构建加速

一、前言 在人工智能技术的飞速发展下,生成式AI已经成为推动社会进步的重要力量。然而,随着技术的不断进步,内容安全问题也日益凸显。如何确保在享受AI带来的便利的同时,保障信息的真实性和安全性,已经成为整个行业待解…

C#/.NET/.NET Core全面的自学入门指南

自学入门建议 确认学习目标:自学C#/.NET首先你需要大概了解该门语言和框架的发展、前景和基本特点,从自身实际情况和方向出发确认学习的必要性。 制定学习计划:制定一个详细的学习计划(比如每天学习一个C#/.NET知识点、小技能&am…

【web安全】缓慢的HTTP拒绝服务攻击详解

文章目录 前言一、攻击原理二、攻击类型三、攻击特点四、HTTP慢速攻击实战工具简介使用参数介绍五、修复建议前言 缓慢的HTTP拒绝服务攻击是一种专门针对于Web的应用层拒绝服务攻击,攻击者操纵网络上的肉鸡,对目标Web服务器进行海量http request攻击,直到服务器带宽被打满,造成…

微服务网关Zuul

一、Zuul简介 Zuul是Netflix开源的微服务网关,包含对请求的路由和过滤两个主要功能。 1)路由功能:负责将外部请求转发到具体的微服务实例上,是实现外部访问统一入口的基础。 2)过滤功能:负责对请求的过程…

入侵检测算法平台部署LiteAIServer视频智能分析平台行人入侵检测算法

在当今科技日新月异的时代,行人入侵检测技术作为安全防护的重要组成部分,正经历着前所未有的发展。入侵检测算法平台部署LiteAIServer作为这一领域的佼佼者,凭借其卓越的技术实力与广泛的应用价值,正逐步成为守护公共安全的新利器…

R5:天气预测-探索式数据分析

🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者:K同学啊 一、实验目的: 根据数据对 RainTomorrow 进行预测,熟悉探索式数据分析(EDA) 二、实验环境: 语言环境…

QT:MaintenanceTool 模块安装工具

QT的MaintenanceTool 工具对已安装的 Qt 进行卸载、修复等其他操作时提示At least one valid and enabled repository required for this action to succeed 解决方式:在设置中添加一个临时的仓库 https://mirrors.tuna.tsinghua.edu.cn/qt/online/qtsdkrepositor…

LeetCode: 3274. 检查棋盘方格颜色是否相同

一、题目 给你两个字符串 coordinate1 和 coordinate2,代表 8 x 8 国际象棋棋盘上的两个方格的坐标。   以下是棋盘的参考图。   如果这两个方格颜色相同,返回 true,否则返回 false。   坐标总是表示有效的棋盘方格。坐标的格式总是先…

【数据分享】全国各省份农业-瓜果类面积(1993-2018年)

数据介绍 一级标题指标名称指标全称单位指标解释农业瓜果类面积农业-瓜果类面积-瓜果类面积千公顷根据第三次全国农业普查结果,对2007年-2017年农业生产有关数据进行了修正。农业西瓜面积农业-瓜果类面积-西瓜面积千公顷根据第三次全国农业普查结果,对2…

守护头顶安全——AI高空抛物监测,让悲剧不再重演

在城市的喧嚣中,我们享受着高楼林立带来的便捷与繁华,却往往忽视了那些隐藏在高空中的危险。近日,震惊全国的高空抛物死刑案件被最高院核准并执行。案件中被告人多次高空抛物的举动,夺去了无辜者的生命,也让自己付出了…

django5入门【03】新建一个hello界面

文章目录 1、前提条件⭐2、操作步骤总结3、实际操作示例 1、前提条件⭐ 将上一节创建的 Django 项目导入到 PyCharm 中。 2、操作步骤总结 (1)在 HelloDjango/HelloDjango 目录下,新建一个 views.py 文件。 (2)在 H…

解决运行jar错误: 缺少 JavaFX 运行时组件, 需要使用该组件来运行此应用程序

报错 众所周知jdk8以上都没有Javafx java -jar target/myyscan-1.0-SNAPSHOT.jar 错误: 缺少 JavaFX 运行时组件, 需要使用该组件来运行此应用程序解决 https://gluonhq.com/products/javafx/ 去下载/javafx/到本地,选择自己的型号 然后记得指定路径 java --m…

arcgis中dem转模型导入3dmax

文末分享素材 效果 1、准备数据 (1)DEM (2)DOM 2、打开arcscene软件 3、加载DEM、DOM数据 4、设置DOM的高度为DEM

yub‘s Algorithm exercise Day13

用栈实现队列 link:232. 用栈实现队列 - 力扣(LeetCode) 思路分析 首先理清楚栈和队列的异同. 队列是先进先出 栈先进后出【两者都能存储元素】 再来看peek()和poll(). 栈和队列都有peek() 可以称之为“瞄一眼”只是看一下当前栈顶/队头元…

基于vue框架的的高校消防设施管理系统06y99(程序+源码+数据库+调试部署+开发环境)系统界面在最后面。

系统程序文件列表 项目功能:设备分类,设备信息,维修人员,报修信息,维修进度,院系,消防知识,培训记录,培训信息,备件信息,备件申请,派发信息,采购信息 开题报告内容 基于Vue框架的高校消防设施管理系统开题报告 一、项目背景与意义 随着高校规模的不断扩大和校园建…

61 mysql 存储引擎之动态格式 MyISAM

前言 我们这里来看一下 MyISAM 存储引擎, 我们常见的那些 user, db, table_priv, proc 等等是基于 MyISAM 这是我们经常会提及的 两种持久化的存储引擎之一, 一是 MyISAM存储引擎, 另外一个是 InnoDB存储引擎 我们这里来看一下 MyISAM 中动态长度的数据表的相关处理 mysql…

图片怎么转换成word文档?5种方法快速实现转换

不管是在学校学习还是在工作中,我们经常需要将图片中的文字转换成Word文档,以便于编辑和保存,但是很多小伙伴不知道该怎样转换,今天,就为大家介绍5种高效的图片转Word文档的方法,一起来学习下吧。 方法一&a…

IDEA设置JDK

IDEA设置JDK的前提是我们电脑中要下载安装了JDK 下面有JDK下载安装的详细教程 2024最新版JDK安装-CSDN博客文章浏览阅读3.4k次,点赞33次,收藏38次。安装JDK以及配置环境变量,检查是否安装成功_jdkhttps://blog.csdn.net/m0_61840987/articl…