zoukankan      html  css  js  c++  java
  • Centos7虚拟机集群配置

    三台虚拟机的网络信息预设

    centos701(hostname) 192.168.2.123(IP) 192.168.2.1(网关)
    centos702(hostname) 192.168.2.124(IP) 192.168.2.1(网关)
    centos703(hostname) 192.168.2.125(IP) 192.168.2.1(网关)

    虚拟机集群网络环境配置

    1、在windows中配置VMware Network Adapter VMnet8的网关

    2、编辑虚拟机网络编辑器

    设置网关、子网、起始IP和结束IP地址

    image-20200721130418119

    image-20200721130506276

    3、配置CentOS网卡信息

    # 查看网卡信息
    [root@centos701 ~]# ifconfig
    
    ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
            inet 192.168.2.123  netmask 255.255.255.0  broadcast 192.168.2.255
            inet6 fe80::20c:29ff:fe86:5f95  prefixlen 64  scopeid 0x20<link>
            ether 00:0c:29:86:5f:95  txqueuelen 1000  (Ethernet)
            
            ...
            
    # 配置网卡ens33
    [root@centos701 ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens33
    
    TYPE=Ethernet
    PROXY_METHOD=none
    BROWSER_ONLY=no
    BOOTPROTO=static	# 修改
    DEFROUTE=yes
    IPV4_FAILURE_FATAL=no
    IPV6INIT=yes
    IPV6_AUTOCONF=yes
    IPV6_DEFROUTE=yes
    IPV6_FAILURE_FATAL=no
    IPV6_ADDR_GEN_MODE=stable-privacy
    NAME=ens33
    UUID=68163d8e-06e4-43dc-9992-c4476a0febb3
    DEVICE=ens33
    ONBOOT=yes				# 修改
    IPADDR=192.168.2.123	# 修改
    NETMASK=255.255.255.0	# 修改
    GATEWAY=192.168.2.1		# 修改
    DNS1=114.114.114.114	# 修改
    DNS2=8.8.8.8			# 修改
    
    # 重启网络服务
    [root@centos701 ~]# systemctl restart network
    

    4、配置主机名

    [root@centos701 ~]# vi /etc/hostname
    centos701
    
    # 查看主机名
    [root@centos701 ~]# hostname
    

    5、配置主机名映射IP地址

    windows中也要添加地址映射 ( IP地址前空一格生效)

    C:WindowsSystem32driversetchosts

    [root@centos701 ~]# vi /etc/hosts
    
    192.168.2.123 centos701
    192.168.2.124 centos702
    192.168.2.125 centos703
    

    6、配置网络服务

    [root@centos701 ~]# vi /etc/resolv.conf
    nameserver 114.114.114.114
    nameserver 8.8.8.8
    
    # 重启网络服务
    [root@centos701 ~]# systemctl restart network
    

    7、关闭防火墙 (windows防火墙也要关闭,不然不能从windows访问虚拟机)

    # 查看防火墙状态
    [root@centos701 ~]# firewall-cmd --state
    
    # 停止防火墙
    [root@centos701 ~]# systemctl stop firewalld.service
    
    # 禁止firewall开机启动
    [root@centos701 ~]# systemctl disable firewalld.service 
    

    8、安装JDK

    # 新建目录
     mkdir /usr/java
    
    # 上传tar压缩包至 /usr/java中并解压
     tar zxvf jdk-8u152-linux-x64.tar.gz
    
    # 编辑配置文件,并添加一下配置信息
     vi /etc/profile
    
    export JAVA_HOME=/usr/java/jdk1.8.0_152
    export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
    export PATH=$PATH:$JAVA_HOME/bin
    
    # 使配置文件生效
    source /etc/profile
    
    # 查看java版本
    java -version
    

    9、克隆两个完整的虚拟机 centos702和 centos703

    克隆完成后做以下事情

    • 适当降低两个虚拟机的内存
    • 修改两台虚拟的 IP 并删除UUID(硬件地址ID删除后自动生成且唯一)
      • vi /etc/sysconfig/network-scripts/ifcfg-ens33
    • 修改主机名
      • vi /etc/hostname

    SSH免秘钥登录

    生成公钥和私钥,私钥留给本机,公钥发给其他主机

    centos701(其他两台按照此方法操作)

    • 生成密钥:ssh-keygen -t rsa (一直回车)

      • 密钥存放位置:/root/.ssh
      • id_rsa:私钥
      • id_rsa.pub:公钥
    • 发送私钥(本机): ssh-copy-id localhost , 需要输入centos701节点(root)的密码

    • 发送公钥(702/703):ssh-copy-id centos702/centos703, 需要输入centos702节点(root)的密码

    测试免秘钥登录centos702

    ssh centos702
    

    scp的使用

    img

    rsync的使用

    img

    推文件:

    rsync -av /tmp/test.txt  192.168.2.123:/tmp/test.txt
    

    拉文件

    rsync -av  192.168.2.123:/tmp/test.txt  /tmp/test.txt
    

    指定ssh端口

    rsync -av -e "ssh -p 22" 192.168.2.123:/tmp/a.txt  /tmp/a.txt
    

    xsync集群分发脚本

    basename:获取路径下文件名称

    [root@CentOS01 bin]# basename /opt/module/kafka/config/consumer.properties  consumer.properties
    

    dirname:获取绝对路径信息

    [root@CentOS01 bin]# dirname /opt/module/kafka/config/consumer.properties      /opt/module/kafka/config
    

    1、创建群发脚本文件xsync

    touch /usr/local/bin/xsync
    

    2、配置群发脚本

    #!/bin/bash
    #1 获取输入参数个数,如果没有参数,直接退出
    pcount=$#
    if((pcount==0)); then
    echo no args;
    exit;
    fi
    
    #2 获取文件名称
    p1=$1
    fname=`basename $p1`
    echo fname=$fname
    
    #3 获取上级目录到绝对路径
    pdir=`cd -P $(dirname $p1); pwd`
    echo pdir=$pdir
    
    #4 获取当前用户名称
    user=`whoami`
    
    #5 循环
    for((host=2; host<4; host++)); do
            echo ------------------- centos70$host --------------
            rsync -rvl $pdir/$fname $user@centos70$host:$pdir
    done
    

    修改脚本 xsync 具有执行权限

    chmod a+x xsync
    

    使用群发

    # 直接发送此文件到centos702和centos03对应的目录中
    xsync xxx.x 
    
  • 相关阅读:
    SQL学习指南第三篇
    SQL学习指南第二篇
    Rebuilding Roads
    TOJ4244: Sum
    K-th Number
    【模板】后缀数组
    冰水挑战
    旅途
    Monkey and Banana
    Max Sum Plus Plus
  • 原文地址:https://www.cnblogs.com/code-duck/p/13354709.html
Copyright © 2011-2022 走看看