Spark 环境配置

Yarn 模式

解压安装文件并重命名

1
2
3
tar -zxvf spark-3.0.0-bin-hadoop3.2.tgz -C /opt/module/
cd /opt/module
mv spark-3.0.0-bin-hadoop3.2/ spark-3.0.0/

修改配置文件

修改 hadoop 的 yarn-site.xml, 并分发

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
<!--是否启动一个线程检查每个任务正使用的物理内存量,如果任务超出分配值,则直接将其杀掉,默认是 true -->

<property>
	<name>yarn.nodemanager.pmem-check-enabled</name>
	<value>false</value>
</property>

<!--是否启动一个线程检查每个任务正使用的虚拟内存量,如果任务超出分配值,则直接将其杀掉,默认是 true -->

<property>
	<name>yarn.nodemanager.vmem-check-enabled</name>
	<value>false</value>
</property>

修改 conf/spark-env.sh, 添加 JAVA_HOME 和 YARN_CONF_DIR 配置

1
2
3
4
mv spark-env.sh.template spark-env.sh

export JAVA_HOME=/opt/module/jdk1.8.0_212
YARN_CONF_DIR=/opt/module/hadoop-3.1.3/etc/hadoop

配置历史服务器

修改 spark-defaults.conf.template 文件名为 spark-defaults.conf

1
mv spark-defaults.conf.template spark-defaults.conf

修改 spark-default.conf 文件,配置日志存储路径

1
2
3
4
5
spark.eventLog.enabled true
spark.eventLog.dir hdfs://Comtition2024master:8020/directory

### 注意:需要启动 hadoop 集群,HDFS 上的目录需要提前存在
hadoop fs -mkdir /directory

修改 spark-env.sh 文件, 添加日志配置

1
2
3
4
export SPARK_HISTORY_OPTS="
-Dspark.history.ui.port=18080
-Dspark.history.fs.logDirectory=hdfs://Comtition2024master:8020/directory
-Dspark.history.retainedApplications=30"

修改 spark-defaults.conf

1
2
spark.yarn.historyServer.address=Comtition2024master:18080
spark.history.ui.port=18080

启动历史服务

1
sbin/start-history-server.sh

Standalone 模式

解压安装文件并重命名

1
2
3
tar -zxvf spark-3.0.0-bin-hadoop3.2.tgz -C /opt/module/
cd /opt/module
mv spark-3.0.0-bin-hadoop3.2/ spark-3.0.0/

修改配置文件

进入 conf 目录,修改 slaves.template 文件名为 slaves, 并添加 salves

1
2
3
4
mv slaves.template slaves
Comtition2024master
Comtition2024node1
Comtition2024node2

**修改 conf/spark-env.sh, 添加 JAVA_HOME 环境变量和集群对应的 master 节点

1
2
3
4
5
mv spark-env.sh.template spark-env.sh

export JAVA_HOME=/opt/module/jdk1.8.0_212
SPARK_MASTER_HOST=Comtition2024master
SPARK_MASTER_PORT=7077

分发sprak

1
rsync  -av xxx user@主机:xxxx

启动集群

1
sbin/start-all.sh

配置历史服务器

修改 spark-defaults.conf.template 文件名为 spark-defaults.conf

1
mv spark-defaults.conf.template spark-defaults.conf

修改 spark-default.conf 文件,配置日志存储路径

1
2
3
4
5
spark.eventLog.enabled true
spark.eventLog.dir hdfs://Comtition2024master:8020/directory

### 注意:需要启动 hadoop 集群,HDFS 上的目录需要提前存在
hadoop fs -mkdir /directory

修改 spark-env.sh 文件, 添加日志配置

1
2
3
4
export SPARK_HISTORY_OPTS="
-Dspark.history.ui.port=18080
-Dspark.history.fs.logDirectory=hdfs://Comtition2024master:8020/directory
-Dspark.history.retainedApplications=30"

启动历史服务

1
sbin/start-history-server.sh