我已经创建了一个docker swarm配置,它由namenode、datanode、资源管理器和纱线工作者组成。所有这些都可以很好地协同工作,我可以从集群中的任何容器运行hdfs dfs命令。我还使用yaml的ports部分公开了端口9000。在core-site.xml中,我使用swarm配置中的namenode的主机名。
我无法让集群之外的客户端使用hdfs dfs命令访问集群。我有一个不同的core-site.xml,它包含群的主机地址。当我运行命令时,我得到一个java.io.EOFException。
有没有办法让外部客户端连接到在docker swarm中运行的hadoop集群?
发布于 2018-01-26 04:47:46
事实证明,这是通过遵循multihomed network instructions来解决的。在namenode看来,它似乎有两个网络接口可供使用。一个用于群上的覆盖网络,另一个用于暴露端口。
https://stackoverflow.com/questions/48450292
复制相似问题