搭建Flink集群:
本实验拥有2个节点,均为ubuntu系统,分别对应IP为192.168.1.100,192.168.1.171
为了方便,先在三台节点上 /etc/hosts 文件内容均添加:
192.168.1.100 master #用户名为zhy,master与worker的用户名必须一致
192.168.1.171 worker1 #用户名为zhy
1.创建与删除用户
sudo useradd -r -m -s /bin/bash zhy #创建用户
sudo userdel zhy #删除用户
2.需先配置集群间ssh无密码登录
1. 在每个节点上生成密钥对,一路回车,生成密钥对:id_rsa 和 d_rsa.pub,默认存储在 /home/jiecxy/.ssh 下
# 例:在master节点上
# 生成密钥对
$ ssh-keygen -t rsa -P ''
# 将 id_rsa.pub 追加到授权的key中
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
2. 每个节点修改配置文件 /etc/ssh/sshd_config,修改内容如下:
RSAAuthentication yes # 启用 RSA 认证
PubkeyAuthentication yes # 启用公钥私钥配对认证方式
AuthorizedKeysFile .ssh/authorized_keys # 公钥文件路径
在 ~/.ssh/config 中添加如下信息:
Host *
StrictHostKeyChecking no # 去掉主机验证检查
3. 使每个 authorized_keys 包含所有公钥
# 在master节点上
# 复制 authorized_keys 到 worker1,会提示输入worker1的密码
$ scp ~/.ssh/authorized_keys user0@worker1:~/
然后登陆 worker1,追加master的公钥到worker1的authorized_keys,如下:
# 在 worker1 上
$ chmod 700 ~/.ssh
$ cat ~/authorized_keys >> ~/.ssh/authorized_keys
$ rm ~/authorized_keys
此时authorized_keys包含master和worker1的公钥,将该authorized_keys复制到worker2,追加worker2的公钥
# 在 worker1 上
$ scp ~/.ssh/authorized_keys jiecxy@worker2:~/
# 在 worker2 上
$ cat ~/authorized_keys >> ~/.ssh/authorized_keys
$ rm ~/authorized_keys
注:若果还有节点,一次类推,一直到最后一个节点,最后节点上的authorized_keys就拥有所有节点的公钥,然后再把该authorized_keys传到其他所有节点对应位置
# 在 worker2 上
$ scp ~/.ssh/authorized_keys jiecxy@worker1:~/.ssh/authorized_keys
$ scp ~/.ssh/authorized_keys jiecxy@master:~/.ssh/authorized_keys
另外,将所有节点的authorized_keys改一下权限
$ chmod 600 ~/.ssh/authorized_keys
4.测试
需要先重启sshd服务,不行就重启服务器试试
在命令行直接输入 ssh worker1 看是否不需要输入密码就能登陆
# 在master节点上
$ ssh user0@worker1
参考: