Spark-3.0.3 安装与配置

Spark安装包下载地址

百度网盘下载地址(平台搭建全套安装包):
链接:https://pan.baidu.com/s/11HyrxVKevgvJc-rI6bFLjA
提取码:sybk

Standalone模式

Standalone模式,使用的是Spark自带的资源调动引擎,构建一个由 Master + Slave 构成的Spark集群,Spark运行在集群中。

这个要和Hadoop中的Standalone区别开来。这里的Standalone是指只用Spark来搭建一个集群,不需要借助其他的框架。是相对于Yarn和Mesos来说的。

  1. 解压一份Spark安装包,并修改解压后的文件夹名称为spark-standalone
[root@bigdata1 software]# tar -zxvf spark-3.0.3-bin-hadoop3.2.tgz -C /opt/module/
[root@bigdata1 module]# mv spark-3.0.3-bin-hadoop3.2/ spark-standalone
  1. 配置集群节点
[root@bigdata1 conf]# mv slaves.template slaves
[root@bigdata1 conf]# vim slaves
bigdata01
bigdata02
bigdata03
  1. 修改spark-env.sh文件,添加master节点
[root@bigdata1 conf]# mv spark-env.sh.template spark-env.sh
[root@bigdata1 conf]# vim spark-env.sh
SPARK_MASTER_HOST=bigdata1
SPARK_MASTER_PORT=7077
  1. 向其他机器分发spark-standalone包
在其他机器创建spark-standalone目录。
[root@bigdata1 spark-standalone]# scp -r /opt/module/spark-standalone/ bigdata2:/opt/module
[root@bigdata1 spark-standalone]# scp -r /opt/module/spark-standalone/ bigdata3:/opt/module
  1. 启动spark集群 (注意执行路径)
[root@bigdata1 spark-standalone]# sbin/start-all.sh

#jps 检查是否有master(bigdata01)和woker(bigdata01、bigdata02、bigdata03)

spark 默认的 Web UI端口为8080

6.官方求PI案例

[root@bigdata1 spark-standalone]# bin/spark-submit \
> --class org.apache.spark.examples.SparkPi \
> --master spark://bigdata01:7077 \
> ./examples/jars/spark-examples_2.12-3.0.3.jar \
> 10


结果:(值不唯一,有值即可)
Pi is roughly 3.1408591408591406


bin/spark-submit \
--class org.apache.spark.examples.SparkPi \
--master spark://bigdata01:7077 \
--executor-memory 2G \
--total-executor-cores 2 \
./examples/jars/spark-examples_2.12-3.0.3.jar \
10

结果:
Pi is roughly 3.1415351415351416

------------------------------ 命令 ---------------------------------------
bin/spark-submit \
--class org.apache.spark.examples.SparkPi \
--master spark://bigdata01:7077 \
--executor-memory 2G \
--total-executor-cores 2 \
./examples/jars/spark-examples_2.12-3.0.3.jar \
10

Standalone-HA模式

操作详解(基于standalone的spark集群)

1.启动zookeeper

2,修改配置spark-env.sh

vi /opt/module/spark-ha/conf/spark-env.sh
注解
#SPARK_MASTER_HOST=bigdata01

增加
SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -
Dspark.deploy.zookeeper.url=bigdata01:2181,bigdata02:2181,bigdata03:2181 -
Dspark.deploy.zookeeper.dir=/spark-ha"

3.分发配置到其他节点

4.启动集群

在bigdata01上启动spark集群执行
在bigdata02上再单独启动一个master

5.查看WebUI

http://bigdata01:8080

6.测试

/opt/module/spark-ha/bin/spark-shell --master spark://bigdata01:7077,bigdata02:7077

Spark-On-Yarn模式(推荐使用)

SparkOnYarn的本质是把Spark任务的class字节码文件打成jar包,上传到Yarn集群的JVM中去运行

SparkOnYarn根据Driver运行在哪里分为2种模式:client模式和cluster模式

在实际开发中,大数据任务都有统一的资源管理和任务调度工具来进行管理----Yarn使用最多

当Spark Application运行到YARN上时,在提交应用时指定master为yarn即可,同时需要告知YARN集群配置信息(比如ResourceManager地址信息),此外需要监控Spark Application,配置历史服务器相关属性

spark客户端连接Yarn,不需要额外构建集群,只需要一个单机版的spark解压包即可。

  1. 停止Standalone模式下的spark集群 (注意执行路径)
[root@bigdata1 spark-standalone]# sbin/stop-all.sh
  1. 为了防止和Standalone模式冲突,再单独解压一份spark用来做Spark on Yarn 模式
[root@bigdata01 software]# tar -zxvf spark-3.0.3-bin-hadoop3.2.tgz -C /opt/module/
[root@bigdata01 module]# mv spark-3.0.3-bin-hadoop3.2/ spark-yarn
  1. 配置环境变量
#SPARK_HOME
export SPARK_HOME=/opt/module/spark-yarn
export PATH=$PATH:$SPARK_HOME/bin
  1. 修改配置(修改hadoop配置文件/opt/module/hadoop-3.1.3/etc/hadoop/yarn-site.xml)
#因为测试环境虚拟机内存较少,防止执行过程进行被意外杀死,做如下配置
#修改hadoop配置文件/opt/module/hadoop/etc/hadoop/yarn-site.xml,添加如下内容
#关闭yarn的内存检查
<property>
     <name>yarn.nodemanager.pmem-check-enabled</name> 
     <value>false</value>
</property>

<property>
     <name>yarn.nodemanager.vmem-check-enabled</name>
     <value>false</value>
</property>
  1. 分发配置文件
[root@bigdata1 hadoop]# scp -r /opt/module/hadoop/etc/hadoop/yarn-site.xml bigdata02:/opt/module/hadoop/etc/hadoop

[root@bigdata1 hadoop]# scp -r /opt/module/hadoop/etc/hadoop/yarn-site.xml bigdata03:/opt/module/hadoop/etc/hadoop

6.修改spark-env.sh

[root@bigdata1 conf]# mv spark-env.sh.template spark-env.sh
[root@bigdata1 conf]# vim spark-env.sh
export JAVA_HOME=/opt/module/jdk
export YARN_CONF_DIR=/opt/module/hadoop/etc/hadoop

7.重启Hadoop

[root@bigdata1 opt]# start-dfs.sh
[root@bigdata1 opt]# start-yarn.sh 

8.求PIclare

[root@bigdata01 spark-yarn]#  

${SPARK_HOME}bin/spark-submit \
--class org.apache.spark.examples.SparkPi \
--master yarn \
--deploy-mode 
--num-executors 2 \
${SPARK_HOME}/examples/jars/spark-examples_2.12-3.0.3.jar \
10


--deploy-mode cluster \ 
--driver-memory 512m \
--executor-memory 512m \
结果:
Pi is roughly 3.142211142211142

配置spark历史服务器

1.cp spark-defaults.conf.template spark-defaults.conf

vi /opt/module/spark-yarn/conf/spark-defaults.conf

#spark日志聚合开启
spark,eventLog.enabled                true
#spark日志目录位置
spark.eventLog.dir                    hdfs://bigdata1:9000/spark/logs
#spark日志压缩
spark.eventLog.compress                true
#spark yarn历史服务器的地址
spark.yarn.historyServer.address    bigdata1:18080

2.vi /opt/module/spark-yarn/conf/spark-env.sh

#HADOOP软件配置文件目录,读取HDFS上文件和运行Spark在YARN集群时需要
HADOOP_CONF_DIR=/opt/module/hadoop/etc/hadoop
YARN_CONF_DIR=/opt/module/hadoop/etc/hadoop

SPARK_DAEMON_JAVA_OPTS="
-Dspark.deploy.recoveryMode=ZOOKEEPER 
-Dspark.deploy.zookeeper.url=bigdata1:2181,bigdata2:2181,bigdata3:2181
-Dspark.deploy.zookeeper.dir=/spark/zookeeper"

#配置spark历史日志存储地址
SPARK_HISTORY_OPTS="
-Dspark.history.fs.logDirectory=hdfs://bigdata1:9000/spark/logs
-Dspark.history.fs.cleaner.enabled=true"

hdfs dfs -mkdir -p /spark/logs

3.设置日期级别

vi log4j.properties

log4j.rootCategory=WARN,console

4.配置spark依赖的jar包

1.	hdfs dfs -mkdir -p /spark/jars/

2.	hdfs dfs -put /opt/module/spark-yarn/jars/* /spark/jars/

3.在bigdata01上修改spark-defaults.conf
添加内容:
spark.yarn.jars hdfs://bigdata1:9000/

–master yarn
–deploy-mode cluster
–driver-memory 512m
–executor-memory 512m
–num-executors 1
–class org.example.spark1.WordCount
/usr/local/src/wc.jar
hdfs://mycluster/wordcount/input/words.txt
hdfs://mycluster/wordcount/output

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值