Spark运行环境搭建

文章目录

  • 一、Spark运行环境
    • 1、local环境
      • (1)解压缩文件
      • (2)启动Local环境
      • (3)编写集群所有进程查看脚本
    • 2、搭建Standalone模式
      • (1)修改配置文件(在local基础上修改配置文件)
      • (2)复制 spark-env.sh.template 文件名为 spark-env.sh
      • (3)修改spark-env.sh文件,添加JAVA_HOME环境变量和集群对应的master节点
      • (4)分发spark-standalone
      • (5)启动集群
      • (6)查看是否启动成功
      • (7)查看 Master 资源监控 Web UI 界面: http://master:8080(如果master不行用master IP地址)(具体原因是没在Windows里配置文件)
    • 3、配置高可用(HA)
      • (1)停止集群
      • (2)启动Zookeeper
      • (3)修改spark-env.sh 文件添加如下配置
      • (4)分发配置文件
      • (5)启动集群
      • (6)启动slave2的单独Master节点,此时slave1节点MAster状态处于备用状态
      • (7)提交应用到高可用集群
      • (8)停止master的Master资源监控进程
      • (9)查看 slave1 的 Master 资源监控 Web UI,稍等一段时间后,slave1节点的 Master 状态
    • 4、关于使用虚拟机主机名登录不起spark UI页面的问题
      • (1)查看结果


一、Spark运行环境

1、local环境

  • 不需要其他任何节点资源就可以在本地执行 Spark 代码的环境

(1)解压缩文件

  • 将spark-2.1.1-bin-hadoop2.7.tgz 文件上传到Linux解压到指定位置。
[atguigu@master software]$ tar -zxvf spark-2.1.1-bin-hadoop2.7.tgz -C /opt/module/
[atguigu@master software]$ cd /opt/module/
[atguigu@master module]$ mv spark-2.1.1-bin-hadoop2.7 spark

(2)启动Local环境

  • 进入解压缩后的路径,执行一下命令
[atguigu@master module]$ cd spark/
[atguigu@master bin]$ cd bin
[atguigu@master bin]$ ./spark-shell

  • 启动成功后,可以输入网址进行WebUI监控页面访问
    Spark运行环境搭建_第1张图片
    -退出本地模式
:quit

(3)编写集群所有进程查看脚本

  • 在家目录下的bin里创建脚本xcall.sh(这里我用的是普通用户)(root用户的/root/bin)

Spark运行环境搭建_第2张图片
在这里插入图片描述

  • 在脚本中编写如下内容
for i in master slave1 slave2
do
    echo --------- $i ----------
    ssh $i "$*"
done
  • :wq 保存
  • 修改脚本权限
[atguigu@master bin]$ chmod 777 xcall.sh
  • 启动脚本
[atguigu@master bin]$ xcall.sh jps

2、搭建Standalone模式

(1)修改配置文件(在local基础上修改配置文件)

  • 进入spark的conf目录,复制slaves.template文件名为slaves
[atguigu@master spark]$ cd conf
[atguigu@master conf]$ vim slaves

Spark运行环境搭建_第3张图片
Spark运行环境搭建_第4张图片

  • :wq //保存退出

(2)复制 spark-env.sh.template 文件名为 spark-env.sh

[atguigu@master conf]$ cp spark-env.sh.template spark-env.sh

Spark运行环境搭建_第5张图片

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

export JAVA_HOME=/opt/module/jdk1.8.0_162
SPARK_MASTER_HOST=master
SPARK_MASTER_PORT=7077

Spark运行环境搭建_第6张图片

(4)分发spark-standalone

[atguigu@master conf]$ xsync spark-env.sh

Spark运行环境搭建_第7张图片

(5)启动集群

  • 在spark的sbin目录下
[atguigu@master sbin]$ ./start-all.sh

在这里插入图片描述

(6)查看是否启动成功

[atguigu@master sbin]$ xcall.sh jps

Spark运行环境搭建_第8张图片

(7)查看 Master 资源监控 Web UI 界面: http://master:8080(如果master不行用master IP地址)(具体原因是没在Windows里配置文件)

Spark运行环境搭建_第9张图片

3、配置高可用(HA)

  • 所谓的高可用是因为当前集群中的 Master 节点只有一个,所以会存在单点故障问题。所以
    为了解决单点故障问题,需要在集群中配置多个 Master 节点,一旦处于活动状态的 Master
    发生故障时,由备用 Master 提供服务,保证作业可以继续执行。这里的高可用一般采用
    Zookeeper 设置

(1)停止集群

Spark运行环境搭建_第10张图片

(2)启动Zookeeper

Spark运行环境搭建_第11张图片

(3)修改spark-env.sh 文件添加如下配置

注释如下内容:
#SPARK_MASTER_HOST=linux1
#SPARK_MASTER_PORT=7077
添加如下内容:
#Master 监控页面默认访问端口为 8080,但是可能会和 Zookeeper 冲突,所以改成 8989,也可以自
定义,访问 UI 监控页面时请注意
SPARK_MASTER_WEBUI_PORT=8989
export SPARK_DAEMON_JAVA_OPTS="
-Dspark.deploy.recoveryMode=ZOOKEEPER 
-Dspark.deploy.zookeeper.url=linux1,linux2,linux3
-Dspark.deploy.zookeeper.dir=/spark"

Spark运行环境搭建_第12张图片

(4)分发配置文件

Spark运行环境搭建_第13张图片

(5)启动集群

Spark运行环境搭建_第14张图片
Spark运行环境搭建_第15张图片

(6)启动slave2的单独Master节点,此时slave1节点MAster状态处于备用状态

Spark运行环境搭建_第16张图片

(7)提交应用到高可用集群

bin/spark-submit \
--class org.apache.spark.examples.SparkPi \
--master spark://master:7077,slave1:7077 \
./examples/jars/spark-examples_2.11-2.1.1.jar \
10

Spark运行环境搭建_第17张图片

(8)停止master的Master资源监控进程

Spark运行环境搭建_第18张图片

(9)查看 slave1 的 Master 资源监控 Web UI,稍等一段时间后,slave1节点的 Master 状态

  • 提升为活动状态
    Spark运行环境搭建_第19张图片

4、关于使用虚拟机主机名登录不起spark UI页面的问题

  • 单击计算机

  • 双击c盘
    Spark运行环境搭建_第20张图片
    Spark运行环境搭建_第21张图片
    Spark运行环境搭建_第22张图片
    Spark运行环境搭建_第23张图片

  • 打开hosts
    Spark运行环境搭建_第24张图片
    Spark运行环境搭建_第25张图片

(1)查看结果

Spark运行环境搭建_第26张图片

你可能感兴趣的:(spark,big,data,hadoop)