Какова конфигурация для Apache Airflow, Django, PySpark в сервисах Systemd?
В нашем проекте мы используем Apache airflow, Django (python) и Spark (pySpark). Наши группы DAG работают нормально при запуске 'airflow scheduler' из командной строки. Однако эти группы DAG не работают, когда 'airflow scheduler' запускается из systemd (systemctl).
Примечание: Мы используем виртуальную среду для запуска планировщика airflow (и многих приложений на python).
Вначале мы столкнулись с проблемами, связанными с виртуальным окружением. Позже - с настройкой Django. Мы решили их. Однако теперь мы столкнулись с проблемами, связанными с pyspark.
Мы попробовали это для планировщика.
[Unit]
Description=Airflow scheduler daemon
After=network.target postgresql.service mysql.service redis.service rabbitmq-server.service
Wants=postgresql.service mysql.service redis.service rabbitmq-server.service
[Service]
PIDFile=/home/datauser/Documents/airflow_workspace/airflow_env/bin/scheduler.pid
Environment="PATH=/home/datauser/Documents/airflow_workspace/airflow_env/bin:/home/datauser/airflow_workspace/airflow_env/airnet/aqdms:/home/datauser/Downloads/spark-3.5.1-bin-hadoop3/bin:/home/datauser/Downloads/spark-3.5.1-bin-hadoop3/sbin"
Environment="PYTHONPATH=/home/datauser/Documents/airflow_workspace/airflow_env"
Environment="JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/jre"
Environment="SPARK_HOME=/home/datauser/Downloads/spark-3.5.1-bin-hadoop3"
Environment="PYSPARK_DRIVER_PYTHON=python3"
Environment="PYTHONSTARTUP=/home/datauser/Downloads/spark-3.5.1-bin-hadoop3/python/pyspark/shell.py"
Environment="PYSPARK_PYTHON=python3"
Environment="SPARK_CONF_DIR=/home/datauser/Downloads/spark-3.5.1-bin-hadoop3/conf"
Environment="PYSPARK_SUBMIT_ARGS=--master local[2] pyspark-shell"
User=datauser
Group=datauser
Type=simple
ExecStart=/usr/bin/bash -c 'source /home/datauser/Documents/airflow_workspace/airflow_env/bin/activate ; /home/datauser/Documents/airflow_workspace/airflow_env/bin/airflow scheduler --pid /home/datauser/Documents/airflow_workspace/airflow_env/bin/scheduler.pid'
Restart=on-failure
RestartSec=5s
PrivateTmp=true
[Install]
WantedBy=multi-user.target
Какова должна быть конфигурация для использования Apache airflow, Django, PySpark и виртуального окружения в Systemd?