从官网 处下载, 解压之后执行以下命令
cd conf
cp livy-env.sh.template livy-env.sh
cp livy.conf.template livy.conf
export SPARK_HOME=/opt/spark
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export LIVY_LOG_DIR=/opt/logs/livy
修改livy.conf
livy.server.host = master
livy.server.port = 8998
livy.spark.master = yarn #spark程序部署使用yarn集群
livy.spark.deploy-mode = cluster #spark 程序使用客户端模式
livy.impersonation.enabled = true # 开启用户代理
livy.repl.enable-hive-context = true
livy.server.session.timeout=1h
执行命令 livy-server start
开启服务
关于livy 和 spark 的通信可以参考以下几篇文章
How to use the Livy Spark REST Job Server API for doing some interactive Spark with curl
修改 hue/desktop/conf/pseudo-distributed.ini
[spark]
livy_server_url=http://slave1:8998 # 指定 livy 地址
livy_server_session_kind=yarn
sql_server_host=slave1 # 指定 spark thrift 地址
sql_server_port=10000 # 指定 spark thrift 端口
curl slave1:8998/sessions | python -m json.tool
获取所有的session
curl slave1:8998/sessions/5 -X DELETE
删除id 为5的session
curl slave1:8998/sessions/7/statements -X POST -H 'Content-Type: application/json' -d '{"code":"1 + 1"}'
向 session id为 7 的连接发送 语句执行, 会返回对应的statement id.
{"id":11,"code":"1 + 1","state":"waiting","output":null,"progress":0.0}
curl slave1:8998/sessions/7/statements/11
获取 session id =7, statements=11 的结果