Пример работы c supervisor в кластере Hadoop(Cloudera) на примере сервиса Livy Spark Server
В дистрибутиве от Cloudera напрямую работать с supervisor не получится. Дело в том, что саму службу они скрыли и она не доступна по стандартной команде "service supervisord" а файли настроек не находятся на своем привычном месте "/etc/supervisor/supervisord.conf".
Так что же делать, если у Вас возникла например необходимость настроить стабильную работу REST API для работы c Spark-ом на основе Livy Spark Server ?
Проблема усложняется тем, что на данный момент дистрибутив Cloudera официально не поддерживает эту службу и потому нужно самому собрать и запустить Livy сервер из исходников.
После установки самого Livy сервера возникает необходимость повысить отказоустойчивость путём мониторинга и автоматического перезапуска службы в случае падения.
Настройки supervisor-a в случае собранного кластера на основе дистрибутива от Cloudera находится по этому адресу: "/var/run/cloudera-scm-agent/supervisor/include/"
Создадим в этой директории файл "livy_spark_server.conf" для автозапуска livy spark ceрвера со следующим содержимым:
Применить изменения в настройках можно следующей командой: "sudo service cloudera-scm-agent restart"
Логи supervisor-a находятся по адресу: /var/log/cloudera-scm-agent/supervisord.log
Полезные ссылки:
Так что же делать, если у Вас возникла например необходимость настроить стабильную работу REST API для работы c Spark-ом на основе Livy Spark Server ?
Проблема усложняется тем, что на данный момент дистрибутив Cloudera официально не поддерживает эту службу и потому нужно самому собрать и запустить Livy сервер из исходников.
После установки самого Livy сервера возникает необходимость повысить отказоустойчивость путём мониторинга и автоматического перезапуска службы в случае падения.
Настройки supervisor-a в случае собранного кластера на основе дистрибутива от Cloudera находится по этому адресу: "/var/run/cloudera-scm-agent/supervisor/include/"
Создадим в этой директории файл "livy_spark_server.conf" для автозапуска livy spark ceрвера со следующим содержимым:
[program:livy_spark_server]
command=/usr/local/src/livy-master/startup-livy-master.sh
user=hue
group=hue
autorestart=true
stdout_logfile=/var/log/livy-server.out
stderr_logfile=/var/log/livy-server.log
killasgroup=true
В строке "command" указан путь к shell-скрипту запуска самого Livy Spark сервера. Код этого cкрипта взят из приведённой выше статьи по установке и запуску сервера:
#!/bin/bash
export JAVA_HOME=/usr/java/jdk1.7.0_67-cloudera && \\
export PATH=$JAVA_HOME/bin:$PATH && \\
export SPARK_HOME=/opt/cloudera/parcels/CDH/lib/spark && \\
export HADOOP_CONF_DIR=/etc/hadoop/conf && \\
env \
LIVY_SERVER_JAVA_OPTS='-Dlivy.server.session.factory=yarn' \
SPARK_CONF_DIR=/opt/cloudera/parcels/CDH/lib/spark/conf \
/usr/local/src/livy-master/bin/livy-server
Применить изменения в настройках можно следующей командой: "sudo service cloudera-scm-agent restart"
Логи supervisor-a находятся по адресу: /var/log/cloudera-scm-agent/supervisord.log
Полезные ссылки:
Коментарі
Дописати коментар