最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

1.集群环境搭建

互联网 admin 2浏览 0评论

1.集群环境搭建

1.集群信息概览

2.集群环境搭建

2.1第一台服务器

  1. 修改静态ip
    vim /etc/sysconfig/network-scripts/ifcfg-ens33
    
  2. 修改主机名
    echo first-node /etc/hostname
    
  3. 修改主机名映射
    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
    
  4. 安装epel软件源
    yum install -y epel-release
    
  5. 关闭防火墙,禁止开机自启
    systemctl stop firewalld
    systemctl disable firewalld.service
    
  6. 给用户赋予root权限:普通用户可以使用sudo来执行特权命令,不再需要输入密码
    vim /etc/sudoers
    
    # 找到这一行
    %wheel  ALL=(ALL)       ALL
    # 新增
    用户名 ALL=(ALL)       NOPASSWD:ALL
    
  7. 新建两个文件夹,一个存放软件安装包,一个作为安装路径
    sudo mkdir /opt/moudle
    sudo mkdir /opt/software
    
  8. 修改两个文件夹所属权限为当前用户
    sudo chown fatpuffer:fatpuffer /opt/moudle/ /opt/software/
    
  9. 卸载centos7自带java
    su rootrpm -qa | grep -i java | xargs -n1 rpm -e --nodeps
    
  10. 重启
    reboot
    

2.2第二台服务器(使用第一台服务器进行克隆)

  1. 修改IP
    vim /etc/sysconfig/network-scripts/ifcfg-ens33
    
  2. 修改主机名
    echo second-node /etc/hostname
    

2.3第三台服务器(使用第一台服务器进行克隆)

  1. 修改IP
    vim /etc/sysconfig/network-scripts/ifcfg-ens33
    
  2. 修改主机名
    echo third-node /etc/hostname
    

3.配置ssh免密认证(三台服务器都要进行如下操做,完成互信)

  1. 在服务器上生成密钥对
    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.
    
  2. 使用ssh-copy-id命令,将公钥推送到服务器
    ssh-copy-id fatpuffer@first-node
    ssh-copy-id fatpuffer@second-node
    ssh-copy-id fatpuffer@third-node
    
  3. 使用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/
    

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第一台服务器

  1. 修改静态ip
    vim /etc/sysconfig/network-scripts/ifcfg-ens33
    
  2. 修改主机名
    echo first-node /etc/hostname
    
  3. 修改主机名映射
    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
    
  4. 安装epel软件源
    yum install -y epel-release
    
  5. 关闭防火墙,禁止开机自启
    systemctl stop firewalld
    systemctl disable firewalld.service
    
  6. 给用户赋予root权限:普通用户可以使用sudo来执行特权命令,不再需要输入密码
    vim /etc/sudoers
    
    # 找到这一行
    %wheel  ALL=(ALL)       ALL
    # 新增
    用户名 ALL=(ALL)       NOPASSWD:ALL
    
  7. 新建两个文件夹,一个存放软件安装包,一个作为安装路径
    sudo mkdir /opt/moudle
    sudo mkdir /opt/software
    
  8. 修改两个文件夹所属权限为当前用户
    sudo chown fatpuffer:fatpuffer /opt/moudle/ /opt/software/
    
  9. 卸载centos7自带java
    su rootrpm -qa | grep -i java | xargs -n1 rpm -e --nodeps
    
  10. 重启
    reboot
    

2.2第二台服务器(使用第一台服务器进行克隆)

  1. 修改IP
    vim /etc/sysconfig/network-scripts/ifcfg-ens33
    
  2. 修改主机名
    echo second-node /etc/hostname
    

2.3第三台服务器(使用第一台服务器进行克隆)

  1. 修改IP
    vim /etc/sysconfig/network-scripts/ifcfg-ens33
    
  2. 修改主机名
    echo third-node /etc/hostname
    

3.配置ssh免密认证(三台服务器都要进行如下操做,完成互信)

  1. 在服务器上生成密钥对
    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.
    
  2. 使用ssh-copy-id命令,将公钥推送到服务器
    ssh-copy-id fatpuffer@first-node
    ssh-copy-id fatpuffer@second-node
    ssh-copy-id fatpuffer@third-node
    
  3. 使用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/
    

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

与本文相关的文章

发布评论

评论列表 (0)

  1. 暂无评论