如今,我在controller主机上去ping其它node节点的主机,网络配置没问题的话,他们之间是能够正常通信的,以下图:node
可是,若是我用node节点主机的hostname来ping呢?
从上图能够看到,是不能够ping通的。缘由是什么呢?我这些VM都是用的NAT模式,以下图所示:网络
再查看一下VMWare Workstation的NAT配置信息:ssh
能够看到,咱们的DNS设置是自动detect,我尝试ping了一下个人本地电脑,也是不通的,这大概也就说明了我本地电脑上设置的DNS是没有被VMWare Workstation detect到的。ide
因此如今只能先手动的,把node节点主机IP和hostname添加到controller主机的hosts文件里吧!
输入命令:vi /etc/hosts
而后作以下更改:
而后Esc退出编辑模式,输入:wq保存退出3d
让咱们来试试此次能否用各节点的hostname来pingblog
从上图能够看到,咱们已经能够用各个节点的hostname来ping了。it
那如今咱们ssh到node1上,输入命令:ssh root@node1
提示你要不要继续链接,输入yes,而后输入password,链接成功。io
那咱们来看看是否能够用各个主机的hostname来pingclass
从上图能够看到,在node1主机上,仍是不能够用各个主机的hostname来ping的。为何呢?由于在node1主机上,VM一样用的NAT网络配置,DNS仍是auto detect,那咱们来看看node1上的hosts文件:登录
看到了吧!很干净,就是系统默认的,那如今解决这个问题就要把刚才在controller主机上修改hosts的过程再来一遍,如今只有3台主机,目前手动改改还能够,可是若是100台呢,岂不是要搞死了啊!有没有其它好的方法,能够把controller主机上面的hosts文件copy到这3台主机上呢?
网上搜了一把,有一个命令能够将本地文件copy到远程主机上,那就是scp命令,输入scp,回车,有简单的使用说明,见下图:
那直接按最简单的格式来试一把吧,居然能够,那另外2台也一块儿copy一下吧,显示都是100%,看来没什么问题。
那咱们就登陆到各个主机,查看一下,到底copy过去了没。先查node1
没毛病,成功copy过来了。那来ping一把其它主机,以下图,均可以ping通。
接着看node2,估计也没啥问题:
如上图,没毛病,并且能够ping通其它主机,最后来看看node3
在node3上,ping其它主机,通的