spark的安装与使用:一键自动安装

使用shell脚本一键下载、安装、配置spark(单机版)

1. 把下面的脚本复制保存为/tmp/install_spark.sh文件

#!/bin/bash# sprak安装版本
sprak_version="2.4.0"
# sprak安装目录
sprak_installDir="/opt/module"
# hadoop安装路径,修改为自己的
HADOOP_HOME=/opt/module/hadoop-3.1.3
# java安装路径,修改为自己的
JAVA_HOME=/opt/module/jdk1.8.0_381install_spark() {local version=$1local installDir=$2# 下载地址local downloadUrl="https://archive.apache.org/dist/spark/spark-$version/spark-$version-bin-hadoop2.7.tgz"# 检查安装目录是否存在,不存在则创建if [ ! -d "${installDir}" ]; thenecho "创建安装目录..."sudo mkdir -p "${installDir}"fiif test -f /tmp/spark-"$version"-bin-hadoop2.7.tgz; thenecho "/tmp/spark-$version-bin-hadoop2.7.tgz文件已存在"else# 下载并解压 sparkecho "开始下载spark..."wget "$downloadUrl" -P /tmpfiecho "开始解压spark..."tar -zxvf "/tmp/spark-$version-bin-hadoop2.7.tgz" -C "${installDir}"mv "${installDir}/spark-${version}-bin-hadoop2.7" "${installDir}/spark-${version}"if test -n "$(grep '#SPARK_HOME' ~/.bashrc)"; thenecho "SPARK_HOME已存在"else# 设置spark用户环境变量echo >> ~/.bashrcecho '#SPARK_HOME' >> ~/.bashrcecho "export SPARK_HOME=${installDir}/spark-${version}" >> ~/.bashrcecho 'export PATH=$PATH:$SPARK_HOME/bin' >> ~/.bashrcfi# 配置 sparkecho "配置spark运行环境"cp "${installDir}/spark-${version}/conf/spark-env.sh.template" "${installDir}/spark-${version}/conf/spark-env.sh"echo 'export SPARK_DIST_CLASSPATH=$('"$HADOOP_HOME"'/bin/hadoop classpath)' >> "${installDir}/spark-${version}/conf/spark-env.sh"echo "spark日志级别配置"cp "${installDir}/spark-${version}/conf/log4j.properties.template" "${installDir}/spark-${version}/conf/log4j.properties"sed -i "s|^log4j.rootCategory=.*|log4j.rootCategory=WARN, console|" "${installDir}/spark-${version}/conf/log4j.properties"echo "配置spark单机模式"echo "export SPARK_MASTER_HOST=$(hostname)    #设置主节点地址" >> "${installDir}/spark-${version}/conf/spark-env.sh"echo 'export SPARK_WORKER_MEMORY=1g           #设置节点内存大小' >> "${installDir}/spark-${version}/conf/spark-env.sh"echo 'export SPARK_WORKER_CORES=1             #设置节点参与计算的核心数' >> "${installDir}/spark-${version}/conf/spark-env.sh"echo 'export SPARK_WORKER_INSTANCES=1         #设置节点实例数' >> "${installDir}/spark-${version}/conf/spark-env.sh"echo "export JAVA_HOME=$JAVA_HOME" >> "${installDir}/spark-${version}/conf/spark-env.sh"echo "export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop" >> "${installDir}/spark-${version}/conf/spark-env.sh"echo "设置spark节点"echo "$(hostname)" > "${installDir}/spark-${version}/conf/slaves"echo "删除spark安装包"rm -rf /tmp/spark-"$version"-bin-hadoop2.7.tgzecho "spark 安装完成!"
}install_spark "$sprak_version" "$sprak_installDir"

2. 增加执行权限

chmod a+x /tmp/install_spark.sh

3. 执行/tmp/install_spark.sh

/tmp/install_spark.sh

执行之后等待下载、安装、配置完成,如下图:
在这里插入图片描述

4. 加载环境变量

source ~/.bashrc

进入spark交互界面

spark-shell

如下图:
在这里插入图片描述

5. 启动/停止spark

启动spark

/opt/module/spark-2.4.0/sbin/start-all.sh

查看是否启动成功

jps | awk '$NF == "Master" || $NF == "Worker" { print $NF }'

启动成功如下图:
在这里插入图片描述

浏览器访问sparkUI界面:http://192.168.145.103:8080/
如下图:
在这里插入图片描述
停止spark

/opt/module/spark-2.4.0/sbin/stop-all.sh

在这里插入图片描述

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

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

相关文章

测试类运行失败:TestEngine with ID ‘junit-jupiter‘ failed to discover tests

背景:原本我的项目是可以运行的,然后我用另外一台电脑拉了下来,也是可以用的,但是很奇怪,用着用着就不能用了。报了以下错误: /Library/Java/JavaVirtualMachines/openjdk-11.jdk/Contents/Home/bin/java …

org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder 实现密码加密 验证 代码示例

BCryptPasswordEncoder 是 Spring Security 提供的用于加密和验证密码的实现类。它使用强大的 BCrypt 散列函数来存储密码的散列值,提供了一种安全的密码存储方法。以下是一个简单的示例代码,演示如何使用 BCryptPasswordEncoder 进行密码加密和验证&…

索引器【C#】

索引: 索引,索的是实例化的编号,派生的子类,第 [ N ] 个儿子。 用数组的方式访问实例。 返回的是实例的,一个属性值。 声明: this [ 索引 ] public string this[int index]{get{}set{}}pub…

idea 插件开发日志绑定问题

错误日志 Searchable options index builder completed SLF4J: Class path contains multiple SLF4J bindings. SLF4J: Found binding in [jar:file:/D:/gradle/caches/modules-2/files-2.1/com.jetbrains.intellij.idea/ideaIC/2021.2/b0727ceddea2b62b16825db9308e14a470198…

【QT5】QT5安装

QT5的安装 从软件开发的角度看,选择版本最新的稳定版是最佳选择,目前QT已经开发到QT6了,但是自从QT5最后一个版本QT5.15起,QT官方就不再提供离线安装包了,安装最新版本的QT除了要注册账号等麻烦的操作外,Q…

【数组和函数实战: 斗地主游戏】

目录 1. 玩法说明 2. 分析和设计 3. 代码实现 4. 游戏演示1. 玩法说明 一副54张牌,3最小,两个王最大,其实是2,和上面一样从大到小排列 2. 分析和设计 2.1 分析和设计 常量和变量设计 一副牌有54张,有牌的数值和花色,可以分别用两个数组来存储,card为卡牌表示的数值,color为…

Java数据结构之《希尔排序》题目

一、前言: 这是怀化学院的:Java数据结构中的一道难度中等的一道编程题(此方法为博主自己研究,问题基本解决,若有bug欢迎下方评论提出意见,我会第一时间改进代码,谢谢!) 后面其他编程题只要我写完…

CGAL的四叉树、八叉树、正交树

四叉树(Quadtree):四叉树是一种用于二维空间分割的数据结构。它将一个二维区域划分为四个象限,每个象限进一步细分为四个小块,以此类推。四叉树可以用于空间索引、图形学、地理信息系统(GIS)等领…

前端打包添加前缀

vue2添加前缀 router的base加上前缀 export default new Router({mode: history, // 去掉url中的#base: privateDeployUrl, // 这里加上前缀scrollBehavior: () > ({y: 0}),routes: constantRoutes })vue.config.js,publicPath属性加上前缀 publicPath: proces…

vue面试题整理(1.0)

一、对MVC,MVP,MVVM的理解 三者都是项目的架构模式(不是类的设计模式),即:一个项目的结构,如何分层,不同层负责不同的职责。 1.MVC MVC的出现是用在后端(全栈时代&…

Kali 修改IP地址和DNS 开启SSH和远程桌面

一、修和IP和DNS 1、打开配置文件 vim /etc/network/interfaces# 加入 auto eth0 iface eth0 inet static address 10.3.0.231 netmask 255.255.255.0 gateway 10.3.0.12、清空网卡配置 ip addr flush dev eth0 3、配置DNS vim /etc/resolv.confnameserver 114.114.114.11…

爬虫-xpath篇

1.xpath的基础语法 表达式描述nodename选中该元素/从根节点选取、或者是元素和元素间的过渡//从匹配选择的当前节点选择文档中的节点,而不考虑它们的位置.选取当前节点…选取当前节点的父节点选取属性text()选取文本 举例: 路径表达式结果html选择html元…

TLS协议握手流程

浅析 TLS(ECDHE)协议的握手流程(图解) - 知乎 前言 通过 wireshark 抓取 HTTPS 包,理解 TLS 1.2 安全通信协议的握手流程。 重点理解几个点: TLS 握手流程:通过 wireshark 抓取 HTTPS 包理解…

常用数据预处理方法 python

常用数据预处理方法 数据清洗缺失值处理示例删除缺失值插值法填充缺失值 异常值处理示例删除异常值替换异常值 数据类型转换示例数据类型转换在数据清洗过程中非常常见 重复值处理示例处理重复值是数据清洗的重要步骤 数据转换示例 数据集成示例数据集成是将多个数据源合并为一…

Linux CentOS搭建NGINX环境

在Linux CentOS 7.x系统安装NGINX 1.13.7版本,具体步骤如下 1、安装所需环境 //安装gcc yum install gcc-c//安装PCRE pcre-devel yum install -y pcre pcre-devel//安装zlib yum install -y zlib zlib-devel//安装Open SSL yum install -y openssl openssl-devel…

【网络协议】聊聊网络ReadTimeout和ConnectTimeout

在实际的开发中,网络超时是一个比较常见的问题,比如说针对支付系统,超时就需要进行和三方人员进行核对订单状态,是否人工介入处理。 但其实在设计网络框架的时候,一般都有两个超时参数 连接超时参数 ConnectTimeout&am…

目标检测YOLO系列从入门到精通技术详解100篇-【目标检测】缺陷检测

目录 几个高频面试题目 深度学习工具在缺陷检测中是如何工作的? 深度学习是如何工作的? 深度学习缺陷检测技术

vue项目node-sass^4.14.1 python gyp 报错解决办法

npm i node-sass4.14.1 --sass_binary_sitehttps://npm.taobao.org/mirrors/node-sass/参考链接:链接

LabVIEW在不同操作系统上使VI、可执行文件或安装程序

LabVIEW在不同操作系统上使VI、可执行文件或安装程序 LabVIEW可以在多个操作系统上运行,主要支持以下几种操作系统: Windows: LabVIEW在各个版本的Windows操作系统上都能运行,包括Windows 7、Windows 8和Windows10。LabVIEW为Wi…

elk:filebeat也是一个日志收集工具

filebeat是一个轻量级的日志收集工具,所使用的系统资源比logstash部署和启动使用的资源要小的多 filebeat可以允许在非java环境,他可以代替logstash在非java环境上收集日志 filebeat无法实现数据的过滤,一般是结合logstash的数据过滤功能一…