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

相关推荐
挖掘狂人3 小时前
当生产环境"变慢",我用这套 perf + strace 30 分钟定位瓶颈
linux·运维·性能优化
ikun_文3 小时前
Django开启跨域请求
python·pycharm·django
外收内放3 小时前
Python与AI应用(项目开发实战:AI智能伴侣第三版)
python·学习·ai编程
别动我齐刘海3 小时前
ROS2 Jazzy + C++ 实战路线——进阶学习3
c++·人工智能·vscode·python·算法·机器学习·机器人
Logintern093 小时前
“以一致的顺序获取锁“是预防死锁最核心、最有效的手段
python·postgresql·锁机制
打工仔折腾 AI3 小时前
Prometheus 告警推钉钉:从单群 Webhook 到跨网络 Alertmanager 实战
人工智能·后端·python·性能优化
Ivanqhz3 小时前
Ping-Pong 双缓冲
开发语言·人工智能·python·深度学习·mlir
三十岁老牛再出发3 小时前
9月18日总结
python·深度学习·机器学习
就叫你天选之人啦4 小时前
安装torch+vllm+flash_attn的prompt
人工智能·pytorch·python
wuyk5554 小时前
21.计数排序:不用比较的“空间换时间”排序算法
python·算法·排序算法