Apache Atlas 和 Airflow 集成
Posted
技术标签:
【中文标题】Apache Atlas 和 Airflow 集成【英文标题】:Apache Atlas and Airflow Integration 【发布时间】:2021-02-02 20:59:00 【问题描述】:我正在尝试将我运行的 Apache Atlas 实例与 Apache Airflow 集成。在airflow.cfg 中设置连接后,我尝试从Airflow 调度程序运行DAG。我在日志中收到以下错误。
[2021-02-02 20:50:47,958] connectionpool.py:752 WARNING - Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f464b856950>: Failed to establish a new connection: [Errno 111] Connection refused')': /api/atlas/v2/types/typedefs
[2021-02-02 20:50:47,960] taskinstance.py:1150 ERROR - HTTPConnectionPool(host='localhost', port=21000): Max retries exceeded with url: /api/atlas/v2/types/typedefs (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f464b8650d0>: Failed to establish a new connection: [Errno 111] Connection refused'))
我的airflow.cfg配置如下:
[lineage]
backend = airflow.lineage.backend.atlas.AtlasBackend
[atlas]
username = <username>
password = <password>
host = localhost
port = 21000
我也尝试将主机更改为 http://localhost。我不确定在 Atlas 中的何处进行调查以确定连接被拒绝的原因。
【问题讨论】:
【参考方案1】:Connection Refused
表示服务未在配置的端口上侦听或错误的主机名。
尝试将localhost
替换为fqdn
,
正确配置它的一个好方法是访问 atlas ui,只需将主机名从 url 放入 config。
【讨论】:
【参考方案2】:我能够通过在启动 atlas 的 docker 容器时添加 --hostname 标志来解决问题。然后我使用我提供的主机名作为airflow.cfg 中的主机
【讨论】:
以上是关于Apache Atlas 和 Airflow 集成的主要内容,如果未能解决你的问题,请参考以下文章