配置 SnakeBite HDFS 客户端以使用高可用性模式

Configure SnakeBite HDFS clients to work with high availability mode

我正在使用 snakebite 库从我的 airflow dags 访问 HDFS。

我的 HDFS 集群已经升级到高可用性模式。这意味着当该名称节点不是活动节点时,配置为仅指向一个名称节点的客户端将失败。

我可以使用什么策略使高可用性模式高可用?我可以将 snakebite 客户端配置为故障转移到另一个节点吗?我可以使用某种负载均衡器将流量定向到正确的名称节点吗?

事实证明,Snakebite 没有一个,而是两个解决这个问题的方法:AutoConfigClient, which will take its configs from the hadoop configs, and HAClient 需要两个名称节点。

就我而言,我实际上是通过气流使用蛇咬伤。事实证明,airflow 的 HDFSHook 足够聪明,可以处理一个连接中提供的两个名称节点,然后将使用 HAClient。