内网搭建的hadoop分布式环境,如何通过外网访问

新手上路,请多包涵

公司搭建的hadoop环境,datanode使用的都是内网ip,只有master节点开通了外网ip,
现在通过Java远程获取HDFS上的数据,master返回给Java程序的datanode地址都是内网ip,
Java连接不上,请问怎么办?

阅读 3.2k
1 个回答

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

然后在代码中设置:

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

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

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