基于Linux的Spark安装与环境配置

news2025/2/24 18:23:11

文章目录

  • 基于Linux的Spark安装与环境配置
    • 1、Hadoop测试
      • 1.1 启动hadoop
      • 1.2 再次启动hadoop
      • 1.3 查看是否成功
    • 2、Scala安装与配置
      • 2.1 下载scala
      • 2.2 解压并重命名
      • 2.3 配置环境
      • 2.4 测试
    • 3、Spark安装与配置
      • 3.1 下载Spark
      • 3.2 解压并重命名
      • 3.3 配置环境
      • 3.4 配置spark-env.sh
      • 3.5 配置slaves(好像不需要)
      • 3.6 启动(报错)
      • 3.7 测试
      • 3.8 查看Spark版本

基于Linux的Spark安装与环境配置

1、Hadoop测试

因为Spark是基于Hadoop上工作的,所以当我们使用Spark框架时,必须要确保Hadoop能够正常运行:

1.1 启动hadoop

cd /usr/local/hadoop
./sbin/start-all.sh

BUG,内容如下:

SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.

解决方法:SLF4J:Failed to load class org.slf4j.impl.StaticLoggerBinder.

1.2 再次启动hadoop

cd /usr/local/hadoop/sbin
./start-all.sh

1.3 查看是否成功

jps

2、Scala安装与配置

2.1 下载scala

官方网址:https://www.scala-lang.org/download/2.13.10.html

使用wget命令下载scala:

wget https://downloads.lightbend.com/scala/2.13.10/scala-2.13.10.tgz

2.2 解压并重命名

sudo tar zxvf ~/下载/scala-2.13.10.tgz -C /usr/local/ # 解压

cd /usr/local
sudo mv scala-2.13.10 scala # 重命名

2.3 配置环境

# 1.编辑环境变量
sudo vi ~/.bashrc

# 2.使其生效
source ~/.bashrc

2.4 测试

scala -version

3、Spark安装与配置

3.1 下载Spark

下载网址:https://archive.apache.org/dist/spark/spark-3.2.2/

使用wget命令进行下载:

wget https://archive.apache.org/dist/spark/spark-3.2.2/spark-3.2.2-bin-hadoop3.2.tgz

3.2 解压并重命名

# 1.解压
sudo tar zxvf ~/下载/spark-3.2.2-bin-hadoop3.2.tgz  -C /usr/local

# 2.重命名
cd /usr/local
sudo mv spark-3.2.2-bin-hadoop3.2 spark

3.3 配置环境

# 1.编辑环境变量
sudo vi ~/.bashrc

# 2.使其生效
source ~/.bashrc

3.4 配置spark-env.sh

进入到配置目录并打开spark-env.sh文件:

cd /usr/local/spark/conf
sudo cp spark-env.sh.template spark-env.sh
sudo vi spark-env.sh

添加以下内容:

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export HADOOP_HOME=/usr/local/hadoop
export HADOOP_CONF_DIR=/usr/local/hadoop/etc/hadoop
export SCALA_HOME=/usr/local/scala
export SPARK_HOME=/usr/local/spark
export SPARK_MASTER_IP=192.168.3.134
export SPARK_MASTER_PORT=7077
export SPARK_MASTER_WEBUI_PORT=8099
export SPARK_WORKER_CORES=3
export SPARK_WORKER_INSTANCES=1
export SPARK_WORKER_MEMORY=5G
export SPARK_WORKER_WEBUI_PORT=8081
export SPARK_EXECUTOR_CORES=1
export SPARK_EXECUTOR_MEMORY=1G
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$HADOOP_HOME/lib/native

3.5 配置slaves(好像不需要)

cd /usr/local/spark/conf
sudo vi workers.template

发现slaves文件里为localhost即本机地址,当前为伪分布式,因此不用修改!但要执行以下:

sudo cp workers.template  slaves

3.6 启动(报错)

启动sbin目录下的start-master.sh以及start-slaves.sh前提是hadoop已启动):

cd /usr/local/spark
sudo ./sbin/start-master.sh
sudo ./sbin/start-slaves.sh

报错!!!

3.7 测试

通过运行Spark自带的示例,验证Spark是否安装成功:

cd /usr/local/spark
./bin/run-example SparkPi

报错信息如下:

2022-11-01 20:49:24,377 WARN util.Utils: Your hostname, leoatliang-virtual-machine resolves to a loopback address: 127.0.1.1; using 192.168.3.134 instead (on interface ens33)

参考博客:Spark启动:WARN util.Utils: Your hostname, … resolves to a loopback address: …; using … instead

修改配置文件,配置 SPARK_LOCAL_IP 变量即可:

cd /usr/local/spark
sudo vim conf/spark-env.sh

# 添加以下内容:
export SPARK_LOCAL_IP=192.168.3.134  # 自己输出对应的IP

再次测试:

BUG解决!!!

执行时会输出非常多的运行信息,输出结果不容易找到,可以通过 grep 命令进行过滤:

./bin/run-example SparkPi 2>&1 | grep "Pi is"

3.8 查看Spark版本

cd /usr/local/spark
./bin/spark-shell

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

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

相关文章

RabbitMQ中VirtualHost相关设置、SpringBoot中集成常见问题总结

wshanshi:总结记录…便于回顾… 一、VirtualHost相关设置 1.1、创建VirtualHost rabbitmqctl add_vhost 虚拟服务器名称如:rabbitmqctl add_vhost test 1.2、用户、权限相关设置 1.2.1、创建用户 rabbitmqctl add_user 用户名 密码如:ra…

Baklib经验分享 | 一些搭建帮助中心的攻略

作为一家企业,既要为用户提供优质的产品,又要为用户提供良好的售后服务。 很多企业在建立网站的时候可能低估了帮助中心的价值,但是实际上,一家好的在线帮助中心可以帮助企业留住用户,而且用户还可以通过自助查询来解…

【Redis系列】Linux查看Redis版本信息

目录 一、详细介绍 1.redis-server -v 1.1 进入容器 1.2 查询redis-server 目录 1.3 进入对应目录 1.4 执行命令 2.redis-cli -v 1.1 进入容器 1.2 查询redis-cli 目录 1.3 进入对应目录 1.4 执行命令 一般是有两种方式 redis-server -vredis-cli -v一、详细介绍 1.…

【数据库系列】如何查看MongoDB版本信息

目录 一、方法介绍 1 mongo --version 2 使用mongod 3 db.version() 二、总结 三种方式可以查看,依次如下: 一、方法介绍 首先要找到mongo的路径,如果不知道在哪,可以输入 whereis mongo 如下图,找到对应的目录…

VMWare安装CentOS7操作系统的虚拟机

【原文链接】VMWare安装CentOS7操作系统的虚拟机 (1)可以从 清华大学镜像源 下载centos7的镜像,比如下载如下这个版本 (2)打开VMWare后,点击【创建虚拟机】 (3)选择【自定义高级…

OAuth 2.0 (第三方登录)前端流程实现

目录 一、OAuth是什么 二、OAuth 实现,前端需要做什么 (一)数据收集表单 (二)获取后端返回值 (三)重定向地址及后续处理 三、项目地址 一、OAuth是什么 OAuth就是让"客户端"安全…

vue-router入门学习3

命名路由 使用命名路由实现声明式导航 要在路由规则里加上name属性,相对于给这个地址取别名,当地址非常长时可以充分体现它的好用之处。 这里的to属性前面要加个冒号噢 调用push函数期间指定一个配置对象,name是要跳转到的路由规则、params是…

真题集P127---2018年真题

真题集P127---2018年真题第一题思路辗转相除法代码第三题思路代码第六题思路代码第一题 思路 就是在考学生&#xff0c;如何快速求解最大公约数问题 <1>从mn中选较小的数开始向下枚举&#xff0c;一直到2为止&#xff0c;第一个能同时整除m,n的即为所求(暴力枚举不推荐)…

Java这些最基础的知识,你还记得多少?

目录 【一】前言 【二】基础数据类型 【三】修饰符 【四】集合 【五】总结 【一】前言 作为一名CS本专业的程序员来说&#xff0c;大学学过的计算机课程&#xff0c;如&#xff1a;编程语言基本语法、数据结构、算法、计算机网络、计算机组成原理、数据库、汇编都是计算机…

nodejs基于微信小程序的书籍销售系统--(ssm+uinapp+Mysql)

伴随着社会以及科学技术的发展,互联网已经渗透在人们的身边,网络慢慢的变成了人们的生活必不可少的一部分,随着互联网的飞速发展,系统这一名词已不陌生,越来越多的书店都会使用系统来定制一款属于自己个性化的系统。书籍销售系统采用nodejs技术, mysql数据库进行开发,实现了首页…

人脑能否重启?

1.重启是什么 “人脑能否重启”这个问题还不简单&#xff0c;人睡眠后清醒就是重启。 事实真的是如此简单吗&#xff1f;我们先不急着给出结论&#xff0c;前面提到“人睡眠后清醒就是重启”&#xff0c;这句话中有两概念&#xff1a; 1、睡眠和觉醒&#xff0c;这是两种人脑…

计算机算法与分析--算法实现题1

代码网上一抓一大把&#xff0c;所以我就不贴代码了&#xff0c;主要讲讲解题的思路&#xff0c;相信各位都能随便写出来。 1-1 统计数字问题 第一反应就是直接循环&#xff0c;然后每个数字进行统计。虽然很容易想到&#xff0c;但肯定会超时的宝贝&#xff01;用心找到位数…

MySQL梳理

MySQL数据库总结篇_许小许520的博客-CSDN博客_mysql数据库文章 MySQL简介 MySQL安装 MySQL建库/表/记录 MySQL基本操作语句 MySQL字段类型&#xff0c;约束条件 int,float...pk,unique.. MySQL单/多表关系 四个关系 MySQL单/多表查询 MySQL查询关键字 where&#xff0c;havi…

学编程:Python入门考级必备[5]

海龟画图(5) 妙手丹青 一、初始化 二、坐标与角度 三、画圆与点与技巧 四、填充颜色与圆内内切多边形 炼 海龟画图 一、初始化 英文:turtle 中文:海龟 海龟能在一个画布上游走&#xff0c;游走的轨迹就形成了绘制的图形。 1.怎么在 Python 编程中找到海龟呢&#xff1f; …

从0到1实现python基于RPC协议的接口自动化测试

01、什么是RPC RPC&#xff08;Remote Procedure Call&#xff09;远程过程调用协议是一个用于建立适当框架的协议。从本质上讲&#xff0c;它使一台机器上的程序能够调用另一台机器上的子程序&#xff0c;而不会意识到它是远程的。 RPC 是一种软件通信协议&#xff0c;一个程…

安装HBase集群

安装HBase集群 1 软件环境 注&#xff1a;我的Hadoop环境已经安装完成。 1.1 版本选择 版本的兼容问题很重要&#xff01;&#xff01; 软件环境版本号备注CentOS77.6JDK1.8.0Hadoop3.1.3hadoop-3.1.3.tar.gzZooKeeper3.6.3apache-zookeeper-3.6.3-bin.tar.gzHBase2.4.15h…

宝塔centos7安装Conda

前言&#xff1a;最近学习了python&#xff0c;主要原因是公司主营百度相关业务&#xff0c;接触了一下paddle Ai开发套件&#xff0c;其中paddlehub安装一直有问题&#xff0c;windows环境也好还是liunx环境也好一直安装不了最新版本&#xff0c;应该是某个库版本问题&#xf…

shell脚本编程

shell介绍 Shell的本意是“壳”的意思,它是相对于操作系统的“壳”。外界的操作不能直接调用操作系统内核,需要通过Shell脚本进行调用。 Shell本质是一个解释器程序,用于接受应用程序/用户命令,然后调用操作系统内核。Shell还是一个功能相当强大的编程语言,易编写,易调…

c++的STL+string

目录 STL 什么是STL&#xff1f; STL有哪些版本&#xff1f; string string的使用&#xff1a; string st1 st2 "北山口镇"​编辑 string st3 "巩义市" string st4(10, *) cout << st1 << endl string st6(st2); string st7 st2; …

0086 Java核心技术卷I Chapter05

目录 5.6枚举类 5.7 反射 5.7.1 Class类 4.7.2 声明异常入门 5.7.3 资源 5.7.4 利用反射分析类的能力 5.7.5 使用反射在运行时分析对象 5.7.6 使用反射编写泛型数组代码 5.7.7 调用任意方法和构造器 5.8 继承的设计技巧 5.6枚举类 public enum Size{SMALL,…