Я установил airflow (v 2.2.4) на ами ниже:
Папка, в которой он сейчас находится, находится здесь (но следует ли мне переместить ее куда-нибудь еще в соответствии с этими документы?)
/home/ec2-user/airflow/airflow.cfg
##WHEN I RUN echo $AIRFLOW_HOME I get the below:
/home/ec2-user/airflow
ИНФОРМАЦИЯ О МИ:
NAME = "Amazon Linux"
VERSION = "2"
ID = "amzn"
ID_LIKE = "centos rhel fedora"
VERSION_ID = "2"
PRETTY_NAME = "Amazon Linux 2"
ANSI_COLOR = "0;33"
CPE_NAME = "cpe:2.3:o:amazon:amazon_linux:2"
HOME_URL = "https://amazonlinux.com/"
POSTGRES V = 10.17
И проблема, с которой я столкнулся, заключается в том, что после запуска airflow initdb, который отлично работает, я запускаю веб-сервер airflow, и когда я пытаюсь скопировать значение http после «Прослушивания»: Я получаю сообщение об ошибке ERR_CONNECTION_REFUSED «Этот сайт недоступен» в Google Chrome (то же самое и с другими браузерами).
____________ _____________
____ |__( )_________ __/__ /________ __
____ /| |_ /__ ___/_ /_ __ /_ __ \_ | /| / /
___ ___ | / _ / _ __/ _ / / /_/ /_ |/ |/ /
_/_/ |_/_/ /_/ /_/ /_/ \____/____/|__/
[2022-04-05 18:08:55,769] {dagbag.py:500} INFO - Filling up the DagBag from /dev/null
[2022-04-05 18:08:55,819] {manager.py:779} WARNING - No user yet created, use flask fab command to do it.
[2022-04-05 18:08:56,185] {manager.py:512} WARNING - Refused to delete permission view, assoc with role exists DAG Runs.can_create User
Running the Gunicorn Server with:
Workers: 4 sync
Host: 0.0.0.0:8081
Timeout: 120
Logfiles: - -
Access Logformat:
=================================================================
[2022-04-05 18:08:58 +0000] [9318] [INFO] Starting gunicorn 20.1.0
[2022-04-05 18:08:58 +0000] [9318] [INFO] Listening at: http://0.0.0.0:8081 (9318)
[2022-04-05 18:08:58 +0000] [9318] [INFO] Using worker: sync
[2022-04-05 18:08:58 +0000] [9321] [INFO] Booting worker with pid: 9321
[2022-04-05 18:08:58 +0000] [9322] [INFO] Booting worker with pid: 9322
[2022-04-05 18:08:59 +0000] [9323] [INFO] Booting worker with pid: 9323
[2022-04-05 18:08:59 +0000] [9324] [INFO] Booting worker with pid: 9324
[2022-04-05 18:09:00,798] {manager.py:779} WARNING - No user yet created, use flask fab command to do it.
[2022-04-05 18:09:00,845] {manager.py:779} WARNING - No user yet created, use flask fab command to do it.
[2022-04-05 18:09:01,084] {manager.py:779} WARNING - No user yet created, use flask fab command to do it.
[2022-04-05 18:09:01,182] {manager.py:779} WARNING - No user yet created, use flask fab command to do it.
[2022-04-05 18:09:01,575] {manager.py:512} WARNING - Refused to delete permission view, assoc with role exists DAG Runs.can_create User
[2022-04-05 18:09:01,605] {manager.py:512} WARNING - Refused to delete permission view, assoc with role exists DAG Runs.can_create User
[2022-04-05 18:09:01,888] {manager.py:512} WARNING - Refused to delete permission view, assoc with role exists DAG Runs.can_create User
Первоначально это произошло, когда он был на порту 8080, но для этого сообщение я попробовал новый порт - но все равно не повезло. Подробная информация о конфигурации воздушного потока ниже:
# If you set web_server_url_prefix, do NOT forget to append it here, ex:
# ``endpoint_url = http://localhost:8080/myroot``
# So api will look like: ``http://localhost:8080/myroot/api/experimental/...``
endpoint_url = http://localhost:8081
[webserver]
# The base url of your website as airflow cannot guess what domain or
# cname you are using. This is used in automated emails that
# airflow sends to point links to the right web server
base_url = http://localhost:8081
# Default timezone to display all dates in the UI, can be UTC, system, or
# any IANA timezone string (e.g. Europe/Amsterdam). If left empty the
# default value of core/default_timezone will be used
# Example: default_ui_timezone = America/New_York
default_ui_timezone = UTC
# The ip specified when starting the web server
web_server_host = 0.0.0.0
# The port on which to run the web server
web_server_port = 8081
Это не проблема Airflow — это основная проблема удаленных вычислений.
Вы запускаете Airflow на удаленной машине.
Если вы используете локальный хост, вы пытаетесь подключиться к своему локальному. Вам нужно убедиться, что вы подключаетесь к удаленному компьютеру, а не к локальному хосту.
Вам нужно каким-то образом открыть свой порт, чтобы он был доступен с вашего локального компьютера, где находится браузер.
Вы можете сделать это, например, так, как описано здесь:
https://aws.amazon.com/blogs/aws/new-port-forwarding-using-aws-system-manager-sessions-manager/
Это сработало - sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080