本章主要是配置spark的yarn模式,利用hadoop的hdfs和yarn实现文件存储和资源调度

1 安装scala,版本 2.12.11

在官网上下载安装介质,复制到服务器/tmp下

确保module文件夹具有权限

sudo chmod 777 /opt/module

执行

tar -xvf scala-2.12.11.tgz -C /opt/module/

配置 /etc/profile.d/my_env.sh

vim /etc/profile.d/my_env.sh

#SCALA_HOME

export SCALA_HOME=/opt/module/scala-2.12.11

export PATH=$PATH:$SCALA_HOME/bin

执行 

source /etc/profile

2 安装spark环境

确保module目录有权限

sudo chmod 777 /opt/module

2.1 yarn模式(重点),spark的资源调度运用hadoop的yarn,文件存储运用hdfs,所以前提需要有hadoop集群

下载spark3.0.0-bin-hadoop3.2.taz版本 并解压

tar -zxvf /tmp/spark-3.0.0-bin-hadoop3.2.tgz -C /opt/module

cd /opt/module

mv spark-3.0.0-bin-hadoop3.2 spark-yarn

1) 修改 hadoop 配置文件/opt/module/hadoop/etc/hadoop/yarn-site.xml, 并分发

yarn.nodemanager.pmem-check-enabled

false

yarn.nodemanager.vmem-check-enabled

false

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

mv spark-env.sh.template spark-env.sh

。。。

export JAVA_HOME=/opt/module/jdk1.8.0_121

YARN_CONF_DIR=/opt/module/hadoop-3.1.3/etc/hadoop

3)启动hadoop集群

myhadoop.sh start

4)提交计算任务

bin/spark-submit \

--class org.apache.spark.examples.SparkPi \

--master yarn \

--deploy-mode cluster \

./examples/jars/spark-examples_2.12-3.0.0.jar \

10

查看 http://hadoop100:8088 页面,点击 History,查看历史页面

配置历史服务器

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

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

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

spark.eventLog.enabled true

spark.eventLog.dir hdfs://hadoop102:8020/directory

spark.yarn.historyServer.address=linux1:18080

spark.history.ui.port=18080

3)添加directory 目录

[root@linux1 hadoop]# sbin/start-dfs.sh

[root@linux1 hadoop]# hadoop fs -mkdir /directory

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

export JAVA_HOME=/opt/module/jdk1.8.0_121

YARN_CONF_DIR=/opt/module/hadoop-3.1.3/etc/hadoop

export SPARK_HISTORY_OPTS="

-Dspark.history.ui.port=18080

-Dspark.history.fs.logDirectory=hdfs://hadoop102:8020/directory

-Dspark.history.retainedApplications=30"

5)启动hadoop集群

myhadoop.sh start

6) 启动历史服务

sbin/start-history-server.sh

7)提交计算任务

bin/spark-submit \

--class org.apache.spark.examples.SparkPi \

--master yarn \

--deploy-mode client \

./examples/jars/spark-examples_2.12-3.0.0.jar \

10

8) Web 页面查看日志: http://hadoop102:8088  

以下是另外两种spark运行模式

2.2 local模式,只需要配置一台服务器

1.解压

tar -zxvf /tmp/spark-3.0.0-bin-hadoop3.2.tgz -C /opt/module

cd /opt/module

mv spark-3.0.0-bin-hadoop3.2 spark-local

2. 执行命令

bin/spark-shell

3 http://虚拟机地址:4040

2.3 Standalone 模式

需要配置三台服务器,资源调度用spark自身提供的调度,基于主从模式

解压

tar -zxvf /tmp/spark-3.0.0-bin-hadoop3.2.tgz -C /opt/module

cd /opt/module

mv spark-3.0.0-bin-hadoop3.2 spark-standalone

1) 进入解压缩后路径的 conf 目录,修改 slaves.template 文件名为 slaves  

mv slaves.template slaves

2) 修改 slaves 文件,添加 work 节点

hadoop102

hadoop103

hadoop104

3) 修改 spark-env.sh.template 文件名为 spark-env.sh  

mv spark-env.sh.template spark-env.sh

4) 修改 spark-env.sh 文件,添加 JAVA_HOME 环境变量和集群对应的 master 节点

export JAVA_HOME=/opt/module/jdk1.8.0_121

SPARK_MASTER_HOST=hadoop102

SPARK_MASTER_PORT=7077

5) 分发 spark-standalone 目录

xsync spark-standalone

6)启动spark集群

sbin/start-all.sh

好文链接

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。