1.集群环境搭建
1.集群信息概览
2.集群环境搭建
2.1第一台服务器
- 修改静态ip
vim /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自带java
su rootrpm -qa | grep -i java | xargs -n1 rpm -e --nodeps
- 重启
reboot
2.2第二台服务器(使用第一台服务器进行克隆)
- 修改IP
vim /etc/sysconfig/network-scripts/ifcfg-ens33
- 修改主机名
echo second-node /etc/hostname
2.3第三台服务器(使用第一台服务器进行克隆)
- 修改IP
vim /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
- 3.修改权限
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/
- 完成上述配置只是在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分发
- 1.分发安装文件
xsync /opt/moudle/
- 2.分发环境变量配置文件(/etc下的文件需要使用sudo权限)
sudo /home/fatpuffer/bin/xsync /etc/profile.d/my_env.sh
- 3.去对应服务器执行环境变量更新命令
source /etc/profile
1.集群环境搭建
1.集群信息概览
2.集群环境搭建
2.1第一台服务器
- 修改静态ip
vim /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自带java
su rootrpm -qa | grep -i java | xargs -n1 rpm -e --nodeps
- 重启
reboot
2.2第二台服务器(使用第一台服务器进行克隆)
- 修改IP
vim /etc/sysconfig/network-scripts/ifcfg-ens33
- 修改主机名
echo second-node /etc/hostname
2.3第三台服务器(使用第一台服务器进行克隆)
- 修改IP
vim /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
- 3.修改权限
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/
- 完成上述配置只是在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分发
- 1.分发安装文件
xsync /opt/moudle/
- 2.分发环境变量配置文件(/etc下的文件需要使用sudo权限)
sudo /home/fatpuffer/bin/xsync /etc/profile.d/my_env.sh
- 3.去对应服务器执行环境变量更新命令
source /etc/profile