我正在尝试在一个docker swarm中设置一个hadoop集群,该集群包含多个主机,每个docker节点上都有一个datanode,并装载了一个卷。我做了一些测试,工作正常,但当datanode死亡然后返回时,问题就来了。
我同时重新启动了2个主机,当容器再次运行时,它们会得到一个新的ip。问题是namemode给出了一个错误,因为它认为它是另一个datanode。
ERROR org.apache.hadoop.hdfs.StateChange: BLOCK* NameSystem.getDatanode: Data node 10.0.0.13:50010 is attempting to report storage ID 3a7b556f-7364-460e-beac-173132d77503. Node 10.0.0.9:50010 is expected to serve this storage.
有没有可能阻止docker分配新的ip,而在重新启动后保留最后一个ip?
或者hadoop config有什么方法可以解决这个问题?
1条答案
按热度按时间pgky5nke1#
目前官方不支持容器访问覆盖网络的静态dhcp地址,如下所述:
https://github.com/moby/moby/issues/31860
.我希望docker能很快解决这个问题。