HDFS 客户端拨号 tcp: lookup xxx(my hostname) on 127.0.0.11:53: no such host

HDFS client dial tcp: lookup xxx(my hostname) on 127.0.0.11:53: no such host

我正在使用 golang 库 (https://github.com/colinmarc/hdfs) 与我的 HDFS 进行交互。

当我使用 client.CopyToRemote(src, dest) 将本地文件复制到远程 HDFS 时,当 运行 使用桥接网络模式的 docker 容器中的代码时,有时会出现此错误。

这让我很困惑,因为我用 IP 地址而不是主机名构造客户端,如下所示:

client, err := hdfs.NewClient(hdfs.ClientOptions{
        Addresses: ["41.51.123.51:9000"],
        User:      "hdfs",
    })

为什么要拨主机名?

我的理解是用hostnamedatanode

有个PR在谈论这个。

设置此选项后UseDatanodeHostname: false,错误消失了。