Spark(2)Spark Shell、scala、java及Lambda表达式编写WordCount程序、spark程序本地调试

启动spark shell详解

spark-shell是Spark自带的交互式Shell程序,方便用户进行交互式编程,用户可以在该命令行下用scala编写spark程序。

启动spark shell:

./spark-2.1.0-bin-hadoop2.6/bin/spark-shell --master spark://linux1:7077,linux2:7077  --executor-memory 1g  --total-executor-cores 3
--master spark://linux1:7077      指定Master的地址
--executor-memory 1g              指定每个worker可用内存为1G
--total-executor-cores 3          指定整个集群使用的cup核数为3

简化版:

./spark-2.1.0-bin-hadoop2.6/bin/spark-shell --master spark://linux1:7077

这种写法 worker数和executor数都是默认值

./spark-2.1.0-bin-hadoop2.6/bin/spark-shell 

如果启动spark shell时没有指定master地址,但是也可以正常启动spark shell和执行spark shell中的程序,其实是启动了spark的local模式,该模式仅在本机启动一个进程,没有与集群建立联系。

启动spark shell后,查看UI管理界面,会发现Application ID多了一个正在运行的spark shell进程。
在这里插入图片描述
在spark-shell中可以用scala语言编写spark程序:

用scala语言在idea中,需先创建一个Maven项目
上传jar包到服务器,然后使用sparksubmit命令提交任务

/bigdata/spark-3.0.0-bin-hadoop3.2/bin/spark-submit --master spark://linux1:7077 --executor-memory 1g --total-executor-cores 4 --class com.spark.day01.WordCount /root/spark15-1.0-SNAPSHOT.jar  hdfs://linux1:9000/words.txt  hdfs://linux1:9000/out

参数说明:
–master 指定masterd地址和端口,协议为spark://,端口是RPC的通信端口
–executor-memory 指定每一个executor的使用的内存大小
–total-executor-cores指定整个application总共使用了cores
–class 指定程序的main方法全类名
jar包路径 args0 args1

本地(local)模式:

spark程序每次都打包上在提交到集群上比较麻烦且不方便调试,Spark还可以进行Local模式运行,方便测试和调试

setMaster("local[*]")
spark部署的模式分类

在这里插入图片描述
spark高可用:
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值