Linux(centos7)部署spark

Spark部署模式主要有4种:Local模式(单机模式)、Standalone模式(使用Spark自带的简单集群管理器)、Spark On Yarn模式(使用YARN作为集群管理器)和Spark On Mesos模式(使用Mesos作为集群管理器)。

下面介绍Local模式(单机模式)、跟Spark On Yarn模式(使用YARN作为集群管理器)的简单部署。

提前环境:已经部署好hadoop\hive\yarn等。

1、安装anaconda

清华镜像源下载地址:

https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/

选择想要安装的版本下载,然后通过Linux客户端Xshell等上传到主机。

执行安装命令:

bash 复制代码
sh Anaconda3-2023.03-Linux-x86_64.sh 

一路回车,输入yes即可。

安装后创建.condarc文件:

bash 复制代码
vim ~/.condarc

更换地址源:

bash 复制代码
annels:
  - defaults
show_channel_urls: true
default_channels:
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:
  conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud

保存后退出,创建环境:

bash 复制代码
conda create -n pyspark python=3.10

激活环境:

bash 复制代码
conda activate pyspark

anaconda3安装完成。

2、安装spark

下载上传主机指定路径

解压:

bash 复制代码
tar -zxvf spark-3.2.4-bin-hadoop3.2.tzg

软连接:

bash 复制代码
ln -s /usr/local/apps/spark-3.2.4-bin-hadoop3.2 spark

修改文件配置:

进入到spark的conf目录:

bash 复制代码
cd spark/conf/

新建环境变量配置文件spark-env.sh

bash 复制代码
vim spark-env.sh

填入配置信息:

bash 复制代码
## 设置JAVA安装目录
JAVA_HOME=/usr/local/apps/jdk

## HADOOP软件配置文件目录,读取HDFS上文件和运行YARN集群
HADOOP_CONF_DIR=/usr/local/apps/hadoop/etc/hadoop
YARN_CONF_DIR=/usr/local/apps/hadoop/etc/hadoop

## 指定spark老大Master的IP和提交任务的通信端口
# 告知Spark的master运行在哪个机器上
export SPARK_MASTER_HOST=node1
# 告知sparkmaster的通讯端口
export SPARK_MASTER_PORT=7077
# 告知spark master的 webui端口
SPARK_MASTER_WEBUI_PORT=8080

# worker cpu可用核数
SPARK_WORKER_CORES=2
# worker可用内存
SPARK_WORKER_MEMORY=1g
# worker的工作通讯地址
SPARK_WORKER_PORT=7078
# worker的 webui地址
SPARK_WORKER_WEBUI_PORT=8081

## 设置历史服务器
# 配置的意思是  将spark程序运行的历史日志 存到hdfs的/sparklog文件夹中
SPARK_HISTORY_OPTS="-Dspark.history.fs.logDirectory=hdfs://node1:8020/sparklog/ -Dspark.history.fs.cleaner.enabled=true";

保存退出。

由于配置日志输出路径,需要在hdfs新建日志目录:

bash 复制代码
hdfs dfs -mkdir /sparklog

配置系统环境变量:

bash 复制代码
vim /etc/profile

填入:

bash 复制代码
# 配置spark环境变量
export SPARK_HOME=/usr/local/apps/spark
export PYSPARK_PYTHON=/usr/local/apps/anaconda3/envs/pyspark/bin/python # python路径即为刚才新建的conda环境pyspark的路径
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop

刷新使得系统环境变量生效:

bash 复制代码
source /etc/profile

再配置用户环境变量:

bash 复制代码
vim ~/.bashrc

添加:

bash 复制代码
# 配置spark环境变量
export JAVA_HOME=/usr/local/apps/jdk
export PYSPARK_PYTHON=/usr/local/apps/anaconda3/envs/pyspark/bin/python # python路径即为刚才新建的conda环境pyspark的路径

分发到其他主机重复配置即可。

3、启动pyspark

cd到spark目录,启动pyspark:

bash 复制代码
bin/pyspark # local模式

yarn集群模式,必须先启动yarn集群:

bash 复制代码
bin/pyspark --master yarn

spark on local模式以及spark on yarn模式部署完成。

相关推荐
逢生博客18 分钟前
使用 Python 项目管理工具 uv 快速创建 MCP 服务(Cherry Studio、Trae 添加 MCP 服务)
python·sqlite·uv·deepseek·trae·cherry studio·mcp服务
꧁坚持很酷꧂18 分钟前
Linux Ubuntu18.04下安装Qt Craeator 5.12.9(图文详解)
linux·运维·qt
堕落似梦24 分钟前
Pydantic增强SQLALchemy序列化(FastAPI直接输出SQLALchemy查询集)
python
凉、介36 分钟前
PCI 总线学习笔记(五)
android·linux·笔记·学习·pcie·pci
电鱼智能的电小鱼1 小时前
EFISH-SBC-RK3588无人机地面基准站项目
linux·网络·嵌入式硬件·机器人·无人机·边缘计算
电鱼智能的电小鱼1 小时前
基于 EFISH-SBC-RK3588 的无人机环境感知与数据采集方案
linux·网络·嵌入式硬件·数码相机·无人机·边缘计算
坐吃山猪1 小时前
Python-Agent调用多个Server-FastAPI版本
开发语言·python·fastapi
Bruce-li__2 小时前
使用Django REST Framework快速开发API接口
python·django·sqlite
小兜全糖(xdqt)2 小时前
python 脚本引用django中的数据库model
python·django
小诸葛的博客2 小时前
详解Linux中的定时任务管理工具crond
linux·运维·chrome