内网上搭的HDFS,外网client连不上datanode?

新手上路,请多包涵

我在内网搭的HDFS,client从外网访问namenode成功,但是接着就访问不到datanode了。
是因为namenode返回的是datanode的内网ip吗?
在哪里可以配置?

阅读 7.6k
2 个回答
新手上路,请多包涵

修改本地 hosts 文件,把 namenode、datanode 的外网 IP 和 hostname 的映射关系加进去(前提是得有外网IP)

然后在代码中设置:

Configuration conf = new Configuration();
conf.set("dfs.client.use.datanode.hostname", "true");

毕竟本地开发只是测试一下,不建议改到 hadoop 配置文件。

新手上路,请多包涵

请问hosts文件是啥,我怎么没找到

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏