除了 Apache Spark 本身提供的 spark-submit 、 spark-shell 和 ThriftServer 之外, Apache Livy 提供了另一种与 Spark 集群交互的方式,通过 REST 接口。
此外,Apache Livy 支持同时维护多个会话。
可以通过 REST 接口、Java/Scala 库和 Apache Zeppelin 访问 Apache Livy。
进入 下载页面 下载最新版本的 Apache Livy 分发包,当前最新版本为 0.5.0。下载成功,执行 unzip
解压缩。
进入 conf 目录,执行 cp livy-env.sh.template livy-env.sh
,编辑 livy-env.sh 文件配置环境变量:
export HADOOP_CONF_DIR=/etc/hadoop/conf export SPARK_HOME=/var/lib/spark_2.1.3
其它可选的环境变量有:
${SPARK_HOME}/conf
; /tmp
; 执行 cp livy.conf.template livy.conf
,编辑 livy.conf 文件配置 Livy:
livy.spark.master = yarn livy.spark.deploy-mode = cluster livy.repl.enable-hive-context = true
其它可选的配置有:
启动服务:
bin/livy-server start
停止服务:
bin/livy-server stop
启动会话报错 livy java.lang.NoSuchMethodException: org.apache.spark.ui.SparkUI.appUIAddress()
Apache Livy 0.5.0 + Apache Spark 2.2.0
产生这个问题的原因是 Apache Spark 版本过高,该方法已经作废,降级到 Apache Spark 2.1.3 及之前的版本即可。