如果我的语言有误,我向您道歉。
我想在Spark集群外部的一个节点(VM实例)上安装Apache Livy服务器。我怎么做才能让LivyServer指向Spark集群?
我已经下载并安装了livy on VM实例,使用
git clone https://github.com/cloudera/livy.git
cd livy
mvn clean package -DskipTests在livy/conf/livy.conf中进行更改
livy.spark.master = spark://{spark-cluster-master_IP}:7077
livy.spark.deploy-mode = clusterlivy服务器已使用命令启动
livy/bin/livy-server start并尝试使用python的REST api进行交互
>>> import json, pprint, requests, textwrap
>>> host = 'http://localhost:8998'
>>> data = {'kind': 'spark'}
>>> headers = {'Content-Type': 'application/json'}
>>> r = requests.post(host + '/sessions', data=json.dumps(data), headers=headers)
>>> r.json()
{u'kind': u'spark', u'log': [], u'proxyUser': None, u'appInfo': {u'driverLogUrl': None, u'sparkUiUrl': None}, u'state': u'starting', u'appId': None, u'owner': None, u'id': 2}
>>> session_url = host + r.headers['location']
>>> r = requests.get(session_url, headers=headers)
>>> r.json()
{u'kind': u'spark', u'log': [], u'proxyUser': None, u'appInfo': {u'driverLogUrl': None, u'sparkUiUrl': None}, u'state': u'dead', u'appId': None, u'owner': None, u'id': 2}将状态显示为已死

日志文件(livy/logs/livy-umesh server.out)没有显示任何有关spark会话已死的信息
livyserver:~$ cat livy/logs/livy-umesh-server.out
log4j:WARN No appenders could be found for logger (com.cloudera.livy.LivyConf).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.发布于 2019-10-28 17:53:45
要运行与Livy的交互会话,您需要确保在Livy和Spark Driver之间具有双向的网络连接,以便在它们之间进行RPC调用。如果是您的情况,您将在Spark驱动程序日志中看到有关连接到Livy RPC服务器或回调超时的问题。
您可能还想启用更详细的日志记录,以查看Livy的详细行为。
https://stackoverflow.com/questions/58078316
复制相似问题