Cloudera

Apache Livy 0.5.0 简介及安装教程

2019-03-22  本文已影响0人  井地儿

什么是livy?

Apache Livy是一种通过REST接口与Spark集群轻松交互的服务。它可以通过简单的REST接口或RPC客户端库轻松提交Spark作业或Spark代码片段,同步或异步结果检索以及Spark Context管理。Apache Livy还简化了Spark与应用程序服务器之间的交互,从而使Spark能够用于交互式Web /移动应用程序。其他功能包括:

  • 长期运行的Spark上下文可以被多个客户端用于多个Spark作业
  • 跨多个作业和客户端共享缓存的RDD或Dataframe
  • 可以同时管理多个Spark上下文,并且Spark上下文在集群(YARN / Mesos)而不是Livy Server上运行,以实现良好的容错和并发性
  • 作业可以作为预编译的jar,代码片段或通过java / scala客户端API提交
  • 通过安全的认证通信确保安全性

为什么是Livy?

曾经我们提交一个spark任务,往往通过spark-submit来提交,难免很原始地需要开发者登陆客户机,通过spark客户端来提交spark任务。为了使spark引擎产品化,我们通过界面配置的方式来实现spark任务参数的可视化,提高用户体验。对于任务提交产品化,我们尝试过这么几种方式:

然而,福音来了,有了livy。livy恰到好处地解决了我们所面临的问题,使spark引擎产品化。

livy有什么好处?

任何地方都可以提交作业

Livy支持从Web /移动应用程序提供程序化,容错,多租户提交Spark作业(无需Spark客户端)。因此,多个用户可以同时可靠地与你的Spark集群进行交互。

使用Scala或Python交互

Livy识别Scala或Python,因此客户端可以通过任何一种语言远程与你的Spark集群进行通信。此外,批处理作业提交可以在Scala,Java或Python中完成。

代码无需改动

使用livy,原有的任务迁移不需要做任何的代码改动

**************安装Livy*******************

系统环境

软件版本

软件 安装包版本
hadoop hadoop-2.7.7.tar.gz
jdk jdk-8u191-linux-x64.tar.gz
scala scala-2.12.8.tgz
mysql mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz
spark spark-2.4.0-bin-hadoop2.7.tgz
livy livy-0.5.0-incubating-bin.zip

集群环境


ip hostname system
master 10.96.81.166 jms-master-01 centos7.2 [ CPU: 4 & 内存: 12G & 硬盘大小: 100G ]
node 10.96.113.243 jms-master-02 centos7.2 [ CPU: 4 & 内存: 12G & 硬盘大小: 100G ]
node 10.96.85.231 jms-master-03 centos7.2 [ CPU: 4 & 内存: 12G & 硬盘大小: 100G ]

约定规范

约定所有软件的安装目录:/home/hadoop/tools
约定所有的安装包存放目录:/home/hadoop/tools/package

安装教程

安装包下载

livy-0.5.0-incubating-bin.zip

上传并解压

上传安装包至package,并解压至/home/hadoop/tools

运行livy

运行前,确保hadoop集群和spark集群已启动。
如果没有导入下面的变量,则需要先导入:
export SPARK_HOME=/usr/lib/spark
export HADOOP_CONF_DIR=/etc/hadoop/conf
当然上面的路径应该是你实际的安装包相应路径。
启动livy:
./bin/livy-server start
停止livy:
./bin/livy-server stop
livy 的 web ui:
http://localhost:8998/ui
livy默认使用8998端口,你可以在配置中通过livy.server.port参数修改端口。

image.png

livy配置

Livy默认情况下使用安装目录下conf目录下的配置文件,你也可以通过LIVY_CONF_DIR在启动Livy时设置环境变量,来指定livy使用备用的配置目录。

Livy使用的配置文件说明:

  • livy.conf:包含服务器配置。Livy发行版附带一个默认配置文件模板,列出了可用的配置键及其默认值。
  • spark-blacklist.conf:列出不允许用户覆盖的Spark配置选项。这些选项将被限制为其默认值或Livy使用的Spark配置中设置的值。
    *log4j.properties:Livy日志记录的配置。定义日志级别以及将写入日志消息的位置。默认配置模板将日志消息打印到stderr。

至此,Livy安装成功。

Livy初体验

REST API
在postman中,测试livy的rest api。

上一篇下一篇

猜你喜欢

热点阅读