Amazon EMR 上的 Livy Server 在连接到 ResourceManager 时挂起

Livy Server on Amazon EMR hangs on Connecting to ResourceManager

我正在尝试在 Amazon EMR 上部署 Livy 服务器。首先我建立了 Livy master 分支

mvn clean package -Pscala-2.11 -Pspark-2.0

然后,我把它上传到EMR集群主机。我设置了以下配置:

livy-env.sh

SPARK_HOME=/usr/lib/spark
HADOOP_CONF_DIR=/etc/hadoop/conf

livy.conf

livy.spark.master = yarn
livy.spark.deployMode = cluster

当我启动 Livy 时,它在连接到 YARN 资源管理器时无限期挂起(XX.XX.XXX.XX 是 IP 地址)

16/10/28 17:56:23 INFO RMProxy: Connecting to ResourceManager at /XX.XX.XXX.XX:8032

但是当我netcat 8032端口时,它连接成功

nc -zv XX.XX.XXX.XX 8032
Connection to XX.XX.XXX.XX 8032 port [tcp/pro-ed] succeeded!

我想我可能漏掉了一些步骤。有人知道这一步可能是什么吗?

查看 github 仓库,master 分支似乎正在开发中,0.2 版本有一个单独的发布分支。安装 livy 的直接方法(对我有用)是按照快速入门页面中的步骤操作:http://livy.io/quickstart.html

下载 Livy Server 发行版

wget http://archive.cloudera.com/beta/livy/livy-server-0.2.0.zip

解压缩

unzip livy-server-0.2.0.zip

开始

$ cd livy-server-0.2.0
$ ./bin/livy-server
16/11/07 20:32:51 INFO LivyServer: Using spark-submit version 2.0.0
16/11/07 20:32:51 WARN RequestLogHandler: !RequestLog
16/11/07 20:32:51 INFO WebServer: Starting server on http://ip-xx-xx-xx-xxx.us-west-2.compute.internal:8998

解压 livy-server-0.2.0.zip 文件后,我对配置文件进行了以下更改

livy-env.sh

export SPARK_HOME=/usr/hdp/current/spark-client
export HADOOP_HOME=/usr/hdp/current/hadoop-client/bin/
export HADOOP_CONF_DIR=/etc/hadoop/conf
export SPARK_CONF_DIR=$SPARK_HOME/conf
export LIVY_LOG_DIR=/jobserver-livy/logs
export LIVY_PID_DIR=/jobserver-livy
export LIVY_MAX_LOG_FILES=10
export HBASE_HOME=/usr/hdp/current/hbase-client/bin

livy.conf

livy.rsc.rpc.server.address=<Loop Back address>

在spark conf文件夹下的'spark-defaults.conf'文件中添加'spark.master yarn-cluster'

如果您还有问题,请告诉我。

您可以在您的 log4j.properties 中使用以下内容,请 post 日志文件。

log4j.rootCategory=DEBUG, NotConsole

log4j.appender.NotConsole=org.apache.log4j.RollingFileAppender

log4j.appender.NotConsole.File=/<LIVY SERVER INSTALL PATH>/logs/livy.log

log4j.appender.NotConsole.maxFileSize=20MB

log4j.appender.NotConsole.layout=org.apache.log4j.PatternLayout

log4j.appender.NotConsole.layout.ConversionPattern=%d{yy/MM/dd HH:mm:ss} %p %c{1}: %m%n