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

简介: 基于Linux的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

相关实践学习
CentOS 8迁移Anolis OS 8
Anolis OS 8在做出差异性开发同时,在生态上和依赖管理上保持跟CentOS 8.x兼容,本文为您介绍如何通过AOMS迁移工具实现CentOS 8.x到Anolis OS 8的迁移。
目录
相关文章
|
1月前
|
Ubuntu Linux Shell
Linux环境下VSCode快速安装终极指南:debian/ubuntu/linux平台通用
以上就是在Linux环境下安装VSCode的终极指南,抛开繁复的专业词汇,以平易近人的文字、形象生动的比喻让你轻松学会这一过程。别忘了,你的小伙伴VSCode已经在应用菜单里等你了!
300 23
|
3月前
|
Ubuntu 关系型数据库 Linux
Linux数据库安装
本文介绍了在CentOS 8.0和Ubuntu 22.04系统上安装、配置和启动MariaDB数据库服务器的详细步骤。包括通过`yum`和`apt`包管理器安装MariaDB服务,启动并检查服务运行状态,设置root用户密码以及连接数据库的基本操作。此外,还展示了如何在Ubuntu上更新软件包列表、安装依赖项,并验证MariaDB的版本和运行状态。通过这些步骤,用户可以成功部署并初始化MariaDB环境,为后续数据库管理与应用开发奠定基础。
169 61
|
2月前
|
Java 关系型数据库 MySQL
在Linux平台上进行JDK、Tomcat、MySQL的安装并部署后端项目
现在,你可以通过访问http://Your_IP:Tomcat_Port/Your_Project访问你的项目了。如果一切顺利,你将看到那绚烂的胜利之光照耀在你的项目之上!
206 41
|
2月前
|
人工智能 安全 Linux
Alpine Linux设定指定的软件包安装源
以上就是如何为Alpine Linux设置特定的软件包的安装源的全部流程。这个过程非常简洁、明了,希望你在使用过程中能够找到乐趣。这个过程不仅可以提供你需要的软件,还可以根据你的网络条件和地域性需求进行调整,使你的Alpine Linux系统达到最佳性能。
296 24
|
2月前
|
开发框架 Java 关系型数据库
在Linux系统中安装JDK、Tomcat、MySQL以及部署J2EE后端接口
校验时,浏览器输入:http://[your_server_IP]:8080/myapp。如果你看到你的应用的欢迎页面,恭喜你,一切都已就绪。
273 17
|
2月前
|
关系型数据库 MySQL Java
安装和配置JDK、Tomcat、MySQL环境,以及如何在Linux下更改后端端口。
遵循这些步骤,你可以顺利完成JDK、Tomcat、MySQL环境的安装和配置,并在Linux下更改后端端口。祝你顺利!
168 11
|
2月前
|
消息中间件 NoSQL Linux
Redis的基本介绍和安装方式(包括Linux和Windows版本),以及常用命令的演示
Redis(Remote Dictionary Server)是一个高性能的开源键值存储数据库。它支持字符串、列表、散列、集合等多种数据类型,具有持久化、发布/订阅等高级功能。由于其出色的性能和广泛的使用场景,Redis在应用程序中常作为高速缓存、消息队列等用途。
635 16
|
3月前
|
Ubuntu Linux 编译器
在Ubuntu Linux系统下如何搭建并安装EDK2
以上就是在Ubuntu Linux系统下搭建并安装EDK2的过程。这个过程可能会有些复杂,但只要按照步骤一步步来,应该不会有太大问题。如果在过程中遇到任何问题,都可以在网上找到相应的解决方案。希望这个指南能对你有所帮助!
147 17
|
3月前
|
Oracle 关系型数据库 MySQL
Oracle linux 8 二进制安装 MySQL 8.4企业版
Oracle linux 8 二进制安装 MySQL 8.4企业版
99 1
|
3月前
|
安全 Java Linux
Linux安装Elasticsearch详细教程
Linux安装Elasticsearch详细教程
324 1