• Spark案例练习-打包提交


    关注公众号:分享电脑学习
    回复"百度云盘" 可以免费获取所有学习文档的代码(不定期更新)
    云盘目录说明:
    tools目录是安装包
    res 目录是每一个课件对应的代码和资源等
    doc 目录是一些第三方的文档工具

    承接上一篇文档《Spark案例练习-PV的统计

    打开端口18080的历史服务,会发现没有历史日志,现在我们想要显示历史日志。

    采取以下的方式

    一:

    //1. 构建SparkContext上下文对象

    val conf = new SparkConf()
    .setMaster("local") // 指定应用在哪儿执行,可以是local、或者stadnalone、yarn、mesos集群
    .setAppName("logpvuv") //指定应用的名字
    .set("spark.eventLog.enabled","true")
    .set("spark.eventLog.dir","hdfs://master:8020/spark/history")

     

    可以看到日志信息

     

    二:

    Spark应用参数可以配置的地方

    1. 在spark-default.conf里面配置

     

     

    2. ${SPARK_HOME}/bin/spark-submit脚本

    添加参数 --conf "spark.ui.port=4050"

    3. 可以在代码中构建SparkConf的时候通过相关API指定参数

     

    如果上面三个都配置的话,我们配置不同的端口的话,会运行那种呢?

    比如:

    (1) spark-default.conf 配置 4055

    (2) 添加参数 --conf "spark.ui.port=4051

    (3) .set("spark.ui.port","4050")"

    结果会运行4050

    运行一个spark应用的时候,先去加载spark-default.conf里面的配置文件,第二个回去加载运行spark-submit命令的配置参数,最后代码中的配置会覆盖前面的配置

    优先级:3 》 2 》 1

    现在我们准备将代码打包提交到集群上运行,先将一部分代码去掉,保留下面的部分

     

    保存到数据库的部分也注释掉,不往数据库保存

     

    基于maven进行打包(clean install即可)

     

    (1)clean:删除target文件

    (2)package:打包

    (3)install: 打包,并且会jar包安装到本地的maven仓库中

     

    使用spark-submit提交应用

    将jar上传后

    1. 在local运行

    ./bin/spark-submit 
    --class 全包路径.类名 
    --master local 
    Jar包的位置

    可以省略--master local 因为默认就是在local运行

    ./bin/spark-submit 
    --class 全包路径..LogPVAndUVCount 
    /opt/modules/jar/logpvuv.jar

     

     

     

    2. 在standalone集群运行

     

    ./bin/spark-submit 
    --class 全包路径.类名 
    --master spark://bigdata.ibeifeng.com:7070 
    Jar包的位置
    

     

    8080页面可以找到

     

     

    可以查看历史服务中也是有的

     

    有一个参数

    deploy-mode 部署模式 :决定driver运行在哪里

    client:客户端,driver运行客户端(指提交SparkSubmit应用的这台机器)

    cluster:集群,driver运行在集群中任意一台Worker节点上

    如果不指定的话默认是在客户端 我们现在指定

     

    ./bin/spark-submit 
    --class 全包路径.LogPVAndUVCount 
    --master spark://master:7070 
    --deploy-mode cluster 
    /opt/modules/jar/logpvuv.jar

     

    可以在客户端模式下面查看8080页面

     

    不过这个地方端口常用的6060作为集群模式 而客户端模式使用7070的

    ./bin/spark-submit 
    --class 全包路径.LogPVAndUVCount 
    --master spark://master:6066 
    --deploy-mode cluster 
    --name logpvuv1 
    /opt/modules/jar/logpvuv.jar
  • 相关阅读:
    PMAC运动程序例程(一)
    【译】移动王国的诱惑【经济学人】
    粒子生物学【经济学人】
    快到家了【经济学人】
    关于贝加莱Modbus通讯的总结
    关于贝加莱Modbus通讯的总结
    移动王国的诱惑【经济学人】
    什么是Modbus
    动物精神【经济学人】
    什么是Modbus
  • 原文地址:https://www.cnblogs.com/bqwzy/p/12902859.html
Copyright © 2020-2023  润新知