Hadoop 具有多台服务器的气流连接id

Hadoop 具有多台服务器的气流连接id,hadoop,airflow,webhdfs,namenode,Hadoop,Airflow,Webhdfs,Namenode,我正在使用WebHDFSSensor,为此我们需要提供namenode。但是,活动namenode和备用namenode会发生更改。我不能只向webhdfs\u conn\u id提供当前的namenode主机。我必须从两个主机创建连接。我尝试将主机作为阵列提供,但没有成功 我的问题是,让我考虑我需要与名称WebHDFSY缺省连接,我需要它2个主机W.X.Y.Z和A.B.C.D.我如何创建它?< /P>你可以在 WebHDFSSENTROVER >之前更新< WebHDFS.CONLYID/

我正在使用WebHDFSSensor,为此我们需要提供namenode。但是,活动namenode和备用namenode会发生更改。我不能只向webhdfs\u conn\u id提供当前的namenode主机。我必须从两个主机创建连接。我尝试将主机作为阵列提供,但没有成功


我的问题是,让我考虑我需要与名称WebHDFSY缺省连接,我需要它2个主机W.X.Y.Z和A.B.C.D.我如何创建它?< /P>你可以在<代码> WebHDFSSENTROVER <代码> >之前更新< <代码> WebHDFS.CONLYID/<代码>。看,还有。还要知道(不是一个解决方案)从技术上讲,您可以定义多个连接,其中包含
conn\u id='webhdfs\u conn\u id'
,在这种情况下,它将是其中之一,但我们事先不知道哪个服务器将处于活动状态和备用状态。如果有一组预先确定的服务器IP(并提供一个IP,一种确定这是活动服务器还是备用服务器的方法),然后确定当前活动服务器和更新Airflow的conn的整个逻辑可以烘焙到前面WebHDFSSensor的单个PythonOperator中。(或者,您可以有一个单独的DAG,每5分钟运行一次并更新conn)。否则,您必须在HDFS部署中构建它,以便每当活动服务器发生更改时,都会发布一个事件(即SNS),您可以(通过Lambda)在那里发布事件通过Airflow的REST API调用该IP更新DAG我们已经预先确定了设置IP,但我的问题是如何确定备用和活动名称节点?它们之间的唯一区别是我们可以从活动名称节点读写。
。它们之间的唯一区别是我们可以从活动名称节点读写。
难道这不是ans吗wer?在
PythonOperator
中,您尝试一个接一个地“读写”节点列表(IP);无论哪个节点通过,都是活动节点(并且您在
webhdfs\u conn\u id
中设置它的IP)您可以将
PythonOperator
放在更新
webhdfs\u conn\u id
WebHDFSSensor
之前。请参阅,和。也要知道(不是解决方案)从技术上讲,您可以定义具有
conn\u id='webhdfs\u conn\u id'
的多个连接,在这种情况下,它将是其中之一,但我们事先不知道哪个服务器将处于活动和备用状态。如果有一组预先确定的服务器IP(并且给定一个IP,可以找到这是活动服务器还是备用服务器),则确定当前活动服务器和更新Airflow的conn的整个逻辑可以烘焙到前面WebHDFSSensor的一个PythonOperator中。(或者,您可以有一个单独的DAG,每5分钟运行一次并更新conn)。否则,您必须在HDFS部署中构建它,以便每当活动服务器发生更改时,都会发布一个事件(即SNS),您可以(通过Lambda)在那里发布事件通过Airflow的REST API调用该IP更新DAG我们已经预先确定了设置IP,但我的问题是如何确定备用和活动名称节点?它们之间的唯一区别是我们可以从活动名称节点读写。
。它们之间的唯一区别是我们可以从活动名称节点读写。
难道这不是ans吗wer?在
PythonOperator
中,您尝试一个接一个地“读写”节点列表(IP);无论哪个节点通过,都是活动节点(并且您在
webhdfs\u conn\u id
中设置它的IP)