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模式部署完成。

相关推荐
晓13135 分钟前
OpenCV篇——项目(二)OCR文档扫描
人工智能·python·opencv·pycharm·ocr
是小王同学啊~7 分钟前
(LangChain)RAG系统链路向量检索器之Retrievers(五)
python·算法·langchain
AIGC包拥它8 分钟前
提示技术系列——链式提示
人工智能·python·langchain·prompt
孟陬9 分钟前
Python matplotlib 如何**同时**展示正文和 emoji
python
半方白11 分钟前
通过 ks.cfg 文件实现 openEuler 系统自动部署
运维·自动化运维
moppol14 分钟前
容器化 vs 虚拟机:什么时候该用 Docker?什么时候必须用 VM?
运维·docker·容器
何双新14 分钟前
第 1 课:Flask 简介与环境配置(Markdown 教案)
后端·python·flask
ZPC821020 分钟前
ubuntu 6.8.0 安装xenomai3.3
linux·运维·ubuntu
费弗里1 小时前
Python全栈应用开发利器Dash 3.x新版本介绍(2)
python·dash
一梦浮华1 小时前
自学嵌入式 day30 IPC:进程间通信
linux·运维·服务器