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

相关推荐
青 春 记 忆39 分钟前
零基础入门python70:Docker Compose 编排完整后端
python·后端开发
新时代牛马41 分钟前
字符设备驱动完整篇:从 cdev_add、file_operations 到chrdev_open 与排障
开发语言·python
pt104343 分钟前
网络自动化Python课程:Cisco PyATS网络自动化测试框架
运维·自动化
Johny_Zhao1 小时前
网络安全等级保护测评实施方案
linux·网络·人工智能·网络安全·信息安全·云计算·等保测评·系统运维·itsm
白山编程大哥2 小时前
Java OutputStreamWriter 详解:从字符到字节的桥梁
java·开发语言·python
小袁拒绝摆烂2 小时前
Jenkins部署经验
运维·jenkins
落羽的落羽2 小时前
【AI】快速理解AI应用的相关名词概念
linux·c++·人工智能·python·计算机网络·算法
刚入门的大一新生2 小时前
Linux-进程控制
linux·运维·服务器·c++
Chasing__Dreams2 小时前
大模型应用开发--13--RAG 查询优化策略
python
上火的金鱼妹2 小时前
K8S基础组件作用和关系整理
linux·运维·服务器·kubernetes