spark的安装和部署

spark学习

一、spark的安装

1 官网(spark官网)下载

spark-hadoop的版本的tar包spark-2.3.1-bin-hadoop2.7.tgz

2 上传

如我自己的上传到linux的/opt/software目录下,然后解压tar -zxvf tar包 -C 指定目录

3 在/etc/profile中配置环境变量
          export SPARK_HOME=/opt/app/spark
          export PATH=$PATH:$SPARK_HOME\bin
          export PATH=$PATH:$SPARK_HOME\sbin
4 配置spark
(1)配置spark(Standalone模式的配置)

在spark的安装目录下有一个conf目录。切换至conf目录,修改将slaves.template复制为slaves(里面存放的时worker的结点地址),将spark-env.sh.template复制为spark-env.sh(spark的一些配置),同时做如下操作
修改添加slaves中的配置
修改worker所在的节点信息
spark-env.sh中的添加配置配置
在这里插入图片描述
为避免spark与hadoop中的启动方式冲突,修改spark的启动停止命令为
在这里插入图片描述
将spark使用scp分发到其他的结点
使用start-spark-all.sh启动spark,jps查看,在node01结点上启动的是master,在node02,node03上启动的是worker

(2) 配置job History server

进入spark的conf目录,修改spark-default.conf.template为spark-default.conf,并在spark-default.conf以及spark-env.sh中增加配置如下
在spark-default.conf中增加如下配置
在这里插入图片描述
在spark-env.sh中增加配置如下
在这里插入图片描述
注意】hdfs上的目录要提前创建好hdfs dfs -mkdir -p /spark/logs
将修改的文件scp分发到其他的结点
启动spark集群
start-spark-all.sh
启动job history server
start-history-server.sh
在node01://4000上查看

(3)配置spark的高可靠HA

集群部署完了,但是有一个很大的问题,那就是Master节点存在单点故障,要解决此问题,就要借助zookeeper,并且启动至少两个Master节点来实现高可靠
在这里插入图片描述
首先安装部署zookeeper并启动
修改spark的配置文件spark-env.sh中的配置如下
在这里插入图片描述
在node01上启动start-spark-all.sh然后在node02上单独启动start-master.sh
在zkCli.sh中ls /spark可以看到master的信息,同时在UI(node01:4000,node02:4000)界面可以看到master的活跃信息
spark-shell -master spark://node01:7077,node02:7077
在这里插入图片描述
节点上下线会动态通知,同时可以在这里编写scala程序
注意】spark中的master高可靠是动态的,并没有写死master一定要在那个节点上启动,所以master的结点个数每一次启动spark可以动态增加或者减少

(4)配置spark【YARN模式】(生产环境中常用的模式)

spark的yarn模式主要是将调度任务交由yarn资源管理器负责调度运行,此时需要关联Hadoop的yarn集群。首先修改hadoop的yarn配置,一般在hadoop的安装目录下/etc/hadoop/yarn-site.xml
在这里插入图片描述
其次修改spark的配置,spark-env.sh
在这里插入图片描述
开启hadoop集群,start-dfs.sh start-yarn.sh(注意在相应的节点开启)
因为是yarn模式。所以不需要启动spark集群,但运行时要指定在yarn上运行
以下是运行官方yarn模式的案例
编写shell脚本spark-yarn.sh

#!/bin/bash
/opt/app/spark/bin/spark-submit \
--class $1 \
--master yarn  \
--deploy-mode client \
--driver-memory 1g \
--executor-memory 512m \
--num-executors 2
$2 \
$3

上方脚本中第一行为约定,用什么解释器,第二行为spark-submit所在的绝对路径,$1,$2,$3是最后在执行脚本时传入的参数。【注意】yarn有两种运行方式,客户端模式和集群模式,测试一般用客户端模式(此模式可以看到结果显示)如:deploy-mode client,如果是集群模式的话修改为cluster(此模式driver提交后就结束了,并不在乎你程序是否正常执行,一般是测试好2之后在使用)
运行案例
./spark-yarn.sh org.apache.spark.examples.SparkPi /opt/app/spark/examples/example-*.jar 10
在yarn的UI界面可以看到你正在运行的应用application

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值