前言:
而今你们对“apache livy”大致比较注重,看官们都想要剖析一些“apache livy”的相关资讯。那么小编同时在网络上汇集了一些对于“apache livy””的相关资讯,希望咱们能喜欢,兄弟们快快来学习一下吧!刘彬同学准备写一系列spark实战系列,本文是第4篇,翻译的Spark 作业调度!赞!推荐给大家,希望大家喜欢和支持!
系列文章
SparkContext 初始化内部原理
checkpoint的实现
【译】Spark 作业调度
1 关于无Spark Client 环境的部署实现
首先,熟悉spark开发的 人都知道spark的部署模式分为三种,分别为Local、Standalone、YARN,通过YARN又分为YARN-Client和YARN-Cluster,Local模式 一般就是在本地运 行Spark任务,需要Spark环境的,Standalone模式是Spark 自 身的 一种调度模式,也是需要Spark环境,YARN模式中,其实是将Spark JAR包提交到YARN上 面,由YARN去开启Contioner然后去执 行Spark的作业,这个其实只需要上传Spark Jar包和 一些依赖包。不需要在部署Spark环境(充当 一个Submit的功能,还占 用节点资源)
首先,将Spark jar包和 工程的build之后的jar以及 工程依赖的jar包上传到HDFS上 面,通过本地可以直接运 行然后提交Spark 作业,代码已经放在本 人Git中,地址如下: [另外提供了真实的项 目实例(基于Spark Streaming的实时监控计算Pro)]使 用 方式也很简单,详 见REDEME.MD好的, 自 己的 小玩意已经介绍完了,有兴趣的话可以试 一下,下 面介绍 一下今天的主 角:Apache Livy ( 目前在ASF孵化中)
2 Livy概述
Livy 是 Apache Spark的 一个REST服务,Livy可以在任意平台上提交Spark作业
Livy可以在WEB/Mobile中提交(不需要Spark客户端)可编程的、容错的、多租户的Spark作业,因此,多个 用户可以并发的、可靠的与Spark集群进 行交互使 用交互式Python和Scala
对现在程序的代码修改不需要修改Livy,只需要在Maven构建Livy,在Spark集群中部署配置就可以
Livy可以使 用Scala或者Python语 言,因此客户端可以通过远程与Spark集群进 行通讯,此外,批处理作业可以在Scala、java、python中完成
不需要修改代码
3 Apache Livy是什么?
Apache Livy是 一个可以通过REST接 口轻松的与Spark集群进 行交互的服务,它可以很 方便提交Spark作业或者Spark代码 片段,同步或者异步的进 行结果检索以及Spark Context上下 文管理, Apache Livy还简化了Spark和应 用程序服务器之间的交互,从 而使Spark能够 用于交互式Web /移动应 用程序。其他功能包括:
由多个客户端 长时间运 行可 用于多个Spark作业的Spark上下 文
跨多个作业和客户端共享缓存的RDD或数据帧
可以同时管理多个Spark上下 文,并且Spark上下 文运 行在群集上(YARN / Mesos) 而不是Livy服务器,以实现良好的容错性和并发性
作业可以作为预编译的jar,代码 片段或通过java / scala客户端API提交
通过安全的认证通信确保安全
4 Livy官网结构
Livy的安装运 行 至少是基于Spark1.6+,并且 支持Scala 2.10和2.11,需要导 入Livy环境变量如下:
export SPARK_HOME=/usr/lib/spark export HADOOP_CONF_DIR=/etc/hadoop/conf
然后启动服务
./bin/livy-server
Livy默认情况下使 用SPARK_HOME的配置,建议将Spark以YARN集群模式的 方式提交应 用程序,这样可以确保 用户会话在YARN集群模式中合适的分配资源,在运 行多个Livy服务器的时候不会导致机器过载
5 配置Livy
Livy在配置 目录下使 用 一些配置 文件,默认情况下是Livy安装下的conf目录。 LIVY_CONF_DIR 在启动Livy时,可以通过设置环境变量来提供备 用配置 目录。Livy使 用的配置 文件是:
livy.conf:包含服务器配置。Livy发 行版附带 一个默认配置 文件模板,其中列出了可 用的配置键及其默认值。
spark-blacklist.conf:列出了 用户不允许覆盖的Spark配置选项。这些选项将被限制为其默认值或Livy使 用的Spark配置中设置的值。
log4j.properties:Livy 日志记录的配置。定义 日志级别以及写 入 日志消息的位置。默认配置模板将打印 日志消息到stderr。
一旦Livy服务器正在运 行,您可以通过端 口8998连接到它(这可以通过livy.server.port 配置选项进 行更改)