我在coreos中启用了flanneld.service来部署kubernetes。然后我通过kubernetes复制控制器启动了hdfs、namenode和datanode。我还为namenode创建了kubernetes服务。namenode服务ip为10.100.220.223,而namenode为10.20.96.4。在我的例子中,一个namenode和一个datanode恰好位于同一个主机上。而namenode和datanode可以成功地互操作。
然而,在尝试启动hdfs datanode时,我遇到了以下两个问题:
我试图通过网络搜索这个问题,但没有任何帮助。你能帮帮我吗?谢谢。
发布于 2015-11-12 08:44:02
使用最新的kubernetes并将params --proxy-mode=iptables传递给kube命令,HDFS集群现在可以工作了。
发布于 2015-11-11 23:46:29
这个问题可能是通过kube造成的,它作为一个用户空间代理将导致所有的源IP都是相同的。不知道是否有办法通过应用程序级协议指定datanode。如果有一种方法可以通过命令行参数或一些xml配置文件提供二进制文件,则可以将二进制文件包装在一个shell脚本中,该脚本将首先获取IP:
IP=$(ip -4 -o addr show eth0 | grep -Po 'inet \K[\d.]+')然后通过参数传递它,或者在启动datanode二进制文件之前将其写入配置文件。
有关更多信息,请参见https://github.com/coreos/flannel/issues/363和https://groups.google.com/forum/#!search/hdfs%2420flannel/google-containers/P4uh7y383oo/bPzIRaxhs5gJ。
https://stackoverflow.com/questions/33644786
复制相似问题