大数据技术-Spark学习笔记

IDEA集成Scala

官网下载scalahttps://www.scala-lang.org/download/all.html

官网下载sparkhttps://spark.apache.org/downloads.html

下载scala插件

image-20220416143159328

配置scala

image-20220416143545210

scala代码提示配置

image-20220416143400609

Spark部署

Spark Local模式部署

解压spark

tar -zxvf spark-3.0.0-bin-hadoop3.2.tgz -C /opt/module/
# 重命名spark
mv spark-3.0.0-bin-hadoop3.2 spark

配置环境变量vim /etc/profile.d/my_env.sh,并使环境变量生效source /etc/profile

# SPARK_HOME
export SPARK_HOME=/opt/module/spark
export PATH=$PATH:$SPARK_HOME/bin

image-20220416145320636

运行如下命令启动spark

bin/spark-shell

image-20220416145338745

启动成功之后,可以在本地的4040端口进行页面访问

image-20220416145412067

退出本地模式

# 或者ctrl+C
scala> :quit

提交应用

# --class 表示要执行程序的主类,此处可以更换为咱们自己写的应用程序
# --master local[2] 部署模式,默认为本地模式,数字表示分配的虚拟CPU核数量
# spark-examples_2.12-3.0.0.jar 运行的应用类所在的jar 包,实际使用时,可以设定为咱们自己打的jar包 
# 数字10表示程序的入口参数,用于设定当前应用的任务数量
bin/spark-submit \
--class org.apache.spark.examples.SparkPi \
--master local[2] \
./examples/jars/spark-examples_2.12-3.0.0.jar \
10 

image-20220416145559552

Spark Standalone模式部署

集群规划如下

hadoop102hadoop103hadoop104
sparkWorker MasterWorkerWorker

进入spark的conf目录修改配置文件,添加集群的worker节点

mv slaves.template slaves

image-20220416145904342

修改spark-env.sh

mv spark-env.sh.template spark-env.sh 
# 7077端口,相当于hadoop内部通信的8020端口
export JAVA_HOME=/opt/module/jdk1.8.0_144 
SPARK_MASTER_HOST=hadoop102
SPARK_MASTER_PORT=7077

image-20220416150100686

分发三台节点

 xsync spark

启动集群

sbin/start-all.sh

image-20220416150859380

查看master资源监控,访问master节点的8080端口

image-20220416151015918

提交应用

# --class 表示要执行程序的主类 
# --master spark://hadoop102:7077 独立部署模式,连接到Spark集群 
# spark-examples_2.12-3.0.0.jar 运行类所在的jar包 
# 数字10表示程序的入口参数,用于设定当前应用的任务数量
bin/spark-submit \
--class org.apache.spark.examples.SparkPi \
--master spark://hadoop102:7077 \
./examples/jars/spark-examples_2.12-3.0.0.jar \
10

配置历史服务器

修改spark-defaults.conf

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

image-20220416151325264

需要启动hadoop集群,HDFS上的directory目录需要提前存在

hadoop fs -mkdir /directory 

image-20220416151410867

配置spark-env.sh

# 参数一 WEB UI 访问的端口号为 18080 
# 参数二 指定历史服务器日志存储路径
# 参数三 指定保存Application历史记录的个数,如果超过这个值,旧的应用程序信息将被删除,这个是内存中的应用数,而不是页面上显示的应用数
export SPARK_HISTORY_OPTS=" 
-Dspark.history.ui.port=18080  
-Dspark.history.fs.logDirectory=hdfs://hadoop102:8020/directory  
-Dspark.history.retainedApplications=30"

image-20220416151450875

分发修改后的配置

xsync conf

重启集群和历史服务

# 关闭
sbin/stop-all.sh
sbin/stop-history-server.sh
# 启动
sbin/start-all.sh
sbin/start-history-server.sh

访问历史服务器,master主节点的18080端口

image-20220416151727012

配置高可用HA

集群规划如下

hadoop102hadoop103hadoop104
sparkMaster Zookeeper WorkerMaster Zookeeper WorkerZookeeper Worker

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

# Master监控页面默认访问端口为8080,但是可能会和Zookeeper冲突,所以改成8989,也可以自定义,访问UI监控页面时请注意
SPARK_MASTER_WEBUI_PORT=8989
export SPARK_DAEMON_JAVA_OPTS="
-Dspark.deploy.recoveryMode=ZOOKEEPER
-Dspark.deploy.zookeeper.url=hadoop102,hadoop103,hadoop104
-Dspark.deploy.zookeeper.dir=/spark"

分发配置

xsync conf

启动集群

sbin/start-all.sh

image-20220416152314508

访问Master监控页面

image-20220416152401465

启动hadoop103的单独Master节点,此时hadoop103节点Master状态处于备用状态

sbin/start-master.sh  

image-20220416152501883

image-20220416152530413

停止hadoop102的master资源监控进程,稍等片刻查看hadoop103的master状态提升为活动状态

image-20220416152801790

image-20220416152841318

Yarn模式

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

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

修改spark配置文件spark/conf/spark.env.sh

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

image-20220416154231075

启动hadoop和yarn集群

image-20220416153717740

提交应用

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

image-20220416154151879

Spark Window模式部署

解压文件夹

image-20220416154315635

执行解压缩文件路径下bin目录中的spark-shell.cmd文件,启动Spark本地环境

image-20220416154715778

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值