三台机子,系统为ubuntu14.01,公用一个路由器组成一个小型局域网。
首先配置固定的ip地址。
点击屏幕右上方的网络连接,Edit Connections -> Add -> 类型选Ethernet -> Create -> 选择IPv4 Setting -> Method选择 Manual(手动)-> Add
对于可以填什么,可以点开网络连接处的Connection Information,对应着填入。
修改hosts文件
三台机子都要修改hosts文件:
sudo gedit /etc/hosts
在原文件后面加上:
192.168.1.102 Master
192.168.1.104 Slave1
192.168.1.105 Slave2
使配置文件生效:
source /etc/hosts
ssh无密码验证配置
安装ssh:sudo apt-get update
sudo apt-get install ssh
注意,以下操作均在root用户下执行,从普通用户跳到root可使用命令sudo su
配置Master无密码登陆slave
1、在Master节点上生成密码对ssh-keygen -t rsa -P ''
生成的密码对id_rsa和id_rsa.pub默认保存在/root/.ssh目录下
2、将id_rsa.pub追加到授权的key里面去
cat ~/.ssh/id_rsa.pub >> ~/.sh/authorized_keys
# ~/.ssh和/root/.ssh是同一个意思
3、修改ssh配置文件/etc/ssh/sshd_config里面的内容,将以下三行的注释去掉
RSAAuthentication yes # 启用 RSA 认证
PubkeyAuthentication yes # 启用公钥私钥配对认证方式
AuthorizedKeysFile .ssh/authorized_keys # 公钥文件路径(和上面生成的文件同)
4、验证无密码本地登陆:ssh localhost
5、把公钥复制到所有的Slave机器上。很多博客做这一步都是用以下两行命令:
scp /root/.ssh/id_rsa.pub root@Slave1:/root/.ssh/
scp /root/.ssh/id_rsa.pub root@Slave2:/root/.ssh/
但是我用这两行命令后会被提问slave1和slave2的密码,输密码后又permission denied,所以最后我直接用u盘拷贝的方法,把master的id_rsa.pub拷贝到其他两台机子的/root/.ssh/下面
接着配置slave节点,以slave1为例:
1、在/root/下面创建".ssh"文件: