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:\Windows\System32\drivers\etc\hosts

[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 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM