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

相关推荐
attitude.x21 分钟前
Swift 协议扩展与泛型:构建灵活、可维护的代码的艺术
运维·服务器·网络
ajassi200026 分钟前
开源 C++ QT Widget 开发(十三)IPC通讯--本地套接字 (Local Socket)
linux·c++·qt·开源
止观止32 分钟前
GitHub自动化利器:Probot框架实战指南
运维·自动化·github
方先森有点懒35 分钟前
CentOS 7.2 虚机 ssh 登录报错在重启后无法进入系统
linux·运维·centos·ssh
shylyly_41 分钟前
Linux->日志的实现
linux·运维·服务器
小胖墩有点瘦1 小时前
【基于yolo和web的垃圾分类系统】
人工智能·python·yolo·flask·毕业设计·课程设计·垃圾分类
站大爷IP1 小时前
Python实现简易成语接龙小游戏:从零开始的趣味编程实践
python
想成为大佬的每一天2 小时前
Linux:NTP服务
linux·网络
PP东2 小时前
Pyhton基础之多继承、多态
开发语言·python
喜欢你,还有大家2 小时前
SSH服务远程安全登录
运维·安全·ssh