1.集群信息概览
2.集群环境搭建
2.1第一台服务器
修改静态ipvim /etc/sysconfig/network-scripts/ifcfg-ens33
修改主机名echo first-node /etc/hostname
修改主机名映射echo 192.168.226.140 first-node >> /etc/hosts
echo 192.168.226.141 second-node >> /etc/hosts
echo 192.168.226.142 third-node >> /etc/hosts
安装epel软件源yum install -y epel-release
关闭防火墙,禁止开机自启systemctl stop firewalld
systemctl disable firewalld.service
给用户赋予root权限:普通用户可以使用sudo来执行特权命令,不再需要输入密码vim /etc/sudoers
# 找到这一行
%wheel ALL=(ALL) ALL
# 新增
用户名 ALL=(ALL) NOPASSWD:ALL
新建两个文件夹,一个存放软件安装包,一个作为安装路径sudo mkdir /opt/moudle
sudo mkdir /opt/software
修改两个文件夹所属权限为当前用户sudo chown fatpuffer:fatpuffer /opt/moudle/ /opt/software/
卸载centos7自带javasu rootrpm -qa | grep -i java | xargs -n1 rpm -e --nodeps
重启reboot
2.2第二台服务器(使用第一台服务器进行克隆)
修改IPvim /etc/sysconfig/network-scripts/ifcfg-ens33
修改主机名echo second-node /etc/hostname
2.3第三台服务器(使用第一台服务器进行克隆)
修改IPvim /etc/sysconfig/network-scripts/ifcfg-ens33
修改主机名echo third-node /etc/hostname
3.配置ssh免密认证(三台服务器都要进行如下操做,完成互信)
在服务器上生成密钥对ssh-keygen # 可以一路回车
# 生成完成后,密钥对存储在用户目录下的.ssh文件夹内
# Your identification has been saved in /home/fatpuffer/.ssh/id_rsa.
# Your public key has been saved in /home/fatpuffer/.ssh/id_rsa.pub.
使用ssh-copy-id命令,将公钥推送到服务器ssh-copy-id fatpuffer@first-node
ssh-copy-id fatpuffer@second-node
ssh-copy-id fatpuffer@third-node
使用ssh别名 完成上述配置只是在ssh登录时不再需要输入密码,但是还是要输入很长的连接名称:ssh hostname@ip,使用别名后只需要输入:ssh 别名即可 1.在本地/home/fatpuffer/.ssh目录下新建config文件 2.编辑config文件,内容如下 '''
Host 别名HostName 远程服务器ipUser 远程服务器用户名Port 22
'''
Host first-nodeHostName first-nodeUser fatpufferPort 22Host second-nodeHostName second-nodeUser fatpufferPort 22Host third-nodeHostName third-nodeUser fatpufferPort 22
sudo chmod 600 config
4.体验(将config文件推送到其他两个服务器上) scp /home/fatpuffer/.ssh/config second-node:/home/fatpuffer/.ssh/
scp /home/fatpuffer/.ssh/config three-node:/home/fatpuffer/.ssh/
4.创建集群文件分发脚本
4.1查看系统环境变量
可以看到用户目录下的bin目录已经被添加到了系统环境变量,那就直接将分发脚本创建在改目录下,可以使得脚本全局使用
[fatpuffer@first-node ~]$ echo $PATH
/usr/local/mysql/bin:
/usr/local/bin:/usr/bin:
/usr/local/sbin:/usr/sbin:
/usr/local/go/bin:
/home/fatpuffer/.local/bin:
/home/fatpuffer/bin
4.2创建脚本(/home/fatpuffer/bin/xsync)
主要依赖于rsync同步命令配合ssh远程连接,实现脚本分发
#!/bin/bash# 1.判断脚本参数个数
if [ $# -lt 1 ]
thenecho Not enough Arguement!exit;
fi# 2. 遍历集群所有机器
for host in first-node second-node third-node
doecho ==================== $host ====================# 3. 遍历所有目录,挨个发送for file in $@do# 4. 判断文件是否存在if [ -e $file ]then# 5. 获取父目录pdir=$(cd -P $(dirname $file); pwd)# 6. 获取当前文件的名称fname=$(basename $file)ssh $host "mkdir -p $pdir"rsync -av $pdir/$fname $host:$pdirelseecho $file does not exists!fidone
done
4.3使用
sxync test.txt
xsync /home/fatpuffer/bin/
5.安装JDK
5.1下载jdk
5.2安装
tar -zxvf /opt/software/jdk-8u212-linux-x64.tar.gz -C /opt/moudle/
5.3配置环境变量
sudo vim /etc/profile.d/my_env.sh# JAVA_HOME
export JAVA_HOME=/opt/moudle/jdk1.8.0_212
export PATH=$PATH:$JAVA_HOME/bin
5.4更新系统环境变量
source /etc/profile
5.5分发
xsync /opt/moudle/
2.分发环境变量配置文件(/etc下的文件需要使用sudo权限)
sudo /home/fatpuffer/bin/xsync /etc/profile.d/my_env.sh
source /etc/profile