美文网首页
126、Spark核心编程进阶之standalone clust

126、Spark核心编程进阶之standalone clust

作者: ZFH__ZJ | 来源:发表于2019-01-17 22:18 被阅读0次

    standalone cluster模式

    通常用于,spark作业部署到生产环境中去使用,是用standalone cluster模式,因为这种模式,会由master在集群中,某个节点上,来启动driver,然后driver会进行频繁的作业调度,此时driver跟集群在一起,那么是性能比较高的

    standalone client模式,在spark-submit脚本执行的机器上,会启动driver进程,然后去进行整个作业的调度
    通常来说,你的spark-submit脚本能够执行的机器,也就是,作为一个开发人员能够登录的机器,通常不会直接是spark集群部署的机器
    因为,随便谁,都登录到spark集群中,某个机器上去,执行一个脚本,没有安全性可言了
    所有此时呢,是这样子,用client模式,你的机器,可能与spark集群部署的机器,都不在一个机房,或者距离很远,那么此时通常遥远的频繁的网络通信,会影响你的整个作业的执行性能

    此外,standalone cluster模式,还支持监控你的driver进程,并且在driver挂掉的时候,自动重启该进程
    要使用这个功能,在spark-submit脚本中,使用--supervise标识即可,主要是用于spark streaming中的HA高可用性,配置driver的高可用

    如果想要杀掉反复挂掉的driver进程,使用以下命令即可: bin/spark-class org.apache.spark.deploy.Client kill <master url> <driver ID>
    如果要查看driver id,通过http://<maser url>:8080即可查看到

    实验观察

    1. 日志:命令行只会打印一点点内容,没有什么东西; 主要呢,是在web ui上,可以看到日志
    2. web ui: running drivers出现,此时就可以看到在spark集群中执行的driver的信息; completed drivers
    3. 进程: SparkSubmit一闪而过,仅仅只是将driver注册到master上,由master来启动driver,马上就停止了; 在Worker上,会启动DriverWrapper进程
      如果能够申请到足够的cpu资源,其实还会在其他worker上,启动CoarseGrainedExecutorBackend进程
    4. 可以通过点击running中的application,去查看作业中的每个job、每个stage、每个executor和task的执行信息,4040端口来看的
    5. 对于正在运行的driver或application,可以在web ui上,点击kill按钮,给杀掉

    相关文章

      网友评论

          本文标题:126、Spark核心编程进阶之standalone clust

          本文链接:https://www.haomeiwen.com/subject/xdipdqtx.html