- 第一步: 在linux中有一个hosts文件,每一台机器都会有IP地址,搭建集群的工作第一个工作,得知道每台服务器的名字,也就是给每台机器起名字;
- 在每台服务器的主机名改掉,vim /etc/hostsname,修改服务器名字
- 把每个服务器修改名字之后,就能识别自己操作的是哪台服务器
- 第二,我们现在需要每台服务器之间相互认识,把每台服务器之间可以认识,把每台服务器的hosts配置一下
- 使用ifconfig查询每台机器的ip地址;
- 现在把每台机器的hosts文件修改一下
127.0.0.1 localhost
127.0.0.1 MS
192.168.38.129 MS
192.168.38.130 DB1
192.168.38.131 T1
192.168.38.132 P1
- 修改之后我们直接输入ping T1可以ping通的话就说明本台服务器就认识了,其他四台都要设置上,让他们相互认识
- 输完之后,我们打开MS服务器,touch一个aaa文件,在终端输入scp命令就可以将新建的aaa上传到其他服务器
- 产品服务器的ip是直接暴露在外面的,不安全,为了安全就要把密码登陆关闭掉(T1 P1 DB1),但是关闭了密码登陆,我们还需要再登陆服务器,这里我们就需要使用公钥和私钥进行登陆(openssh),我们现在必须在外网上只能MS登陆,T1 P1 DB1 只能在内网登陆,我们可以吧T1 P1 DB1上只生成公钥,而私钥放在MS上,只要登陆了MS就可以登录其他的服务器了。(通过ssh隧道)
Ssh -keygen -t rsa//创建秘钥
- 这里我们就可以看到秘钥文件.ssh的隐藏文件
cd .ssh
ls
//这里会出现id_rsa(私钥)和id_rsa.pub(公钥)
- 我们使用scp命令把私钥传给T1 P1 DB1,在其他服务器依次都要创建公钥和私钥;
- 现在把id_rsa.pub这个文件重新定向到authorized_keys,然后执行cat .ssh,就可以看到秘钥了;
- 然后把服务器进行重启,登陆到MS服务器中,通过ssh可以登陆到其他服务器(传输文件密码都不用输入)
- 接着把其他服务器的密码登陆关掉(T1 P1 DB1),在etc下面的sshd_config文件,我们去配置这个文件找到一个52行的yes换成no,然后重启,可以xshell链接下,这时是输入不了密码的
如果MS服务器挂了咋办..?如果MS服务器挂了的话,就没有办法登陆其他服务器了,可以把MS做一个备份,也可以在其他服务器上做防火墙,让其他服务器只能局域网访问,这样的话,我们一个基本的环境OK了。