Приношу свои извинения, если где-то допустил ошибку на своем языке.
Я хочу установить сервер Apache Livy на узле (VM Instance) за пределами кластера Spark.Как я могу сделать это, чтобы LivyServer указывал на кластер Spark?
Я скачал и установил livy на экземпляр 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 = cluster
Ливийный сервер начал использовать команду
livy/bin/livy-server start
И пытается взаимодействовать, используя REST API Python
>>> 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.