修改本地 hosts 文件,把 namenode、datanode 的外网 IP 和 hostname 的映射关系加进去(前提是得有外网IP)
然后在代码中设置:
Configuration conf = new Configuration();conf.set("dfs.client.use.datanode.hostname", "true");
毕竟本地开发只是测试一下,不建议改到 hadoop 配置文件。