您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關怎么在VirtualBox中模擬一個Linux集群,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
1. 在主機Macbook上設置HOST
首先在Mac下修改hosts文件,這樣在ssh時就不用輸入ip地址了。
sudo vim /etc/hosts 或者 sudo vim /private/etc/hosts 這兩個文件其實是一個,是通過link做的鏈接。注意要加上sudo, 以管理員運行,否則不能存盤。 ## # Host Database # # localhost is used to configure the loopback interface # when the system is booting. Do not change this entry. ## 127.0.0.1 localhost 255.255.255.255 broadcasthost ::1 localhost 50.116.33.29 sublime.wbond.net 127.0.0.1 windows10.microdone.cn # Added by Docker Desktop # To allow the same kube context to work on the host and the container: 127.0.0.1 kubernetes.docker.internal 192.168.56.100 hadoop100 192.168.56.101 hadoop101 192.168.56.102 hadoop102 192.168.56.103 hadoop103 192.168.56.104 hadoop104 # End of section
2. 復制虛擬機
然后我們需要由上次配好的這一臺虛擬機,復制出來多臺,以便形成一個集群。首先關閉虛擬,在上面點右鍵,選復制,出現如下對話框,我選擇把所有網卡都重新生成Mac地址,以便模擬完全不同的計算器環境。
3. 修改每一臺的HOST, IP地址
復制完畢后,記得登錄到虛擬機,按照前面提到的方法修改一下靜態IP地址,免得IP地址沖突。
vi /etc/sysconfig/network-scripts/ifcfg-enp0s3 vi /etc/sysconfig/network-scripts/ifcfg-enp0s8
另外,最好也在每臺Linux 虛擬機里也設置一下HOSTNAME,以便這些虛擬機之前相互通訊時也可以使用hostname。需要依次把幾臺機器的hostname都設置好。
[root@hadoop101 ~]# hostnamectl set-hostname hadoop107 [root@hadoop101 ~]# hostname hadoop107
4. xcall讓服務器集群同時運行命令
因為我們同時有好幾臺機器,如果挨個挨個的登錄上去操作,難免麻煩,可以寫個shell腳本,以后從其中一臺發起命令,讓所有機器都執行就方便多了。下面是個例子。 我有hadopp100,hadopp101、hadopp102、hadopp103、hadopp104這個五臺虛擬機。我希望以hadopp100為堡壘,統一控制所有其他的機器。 在/user/local/bin 下創建一個xcall的文件,內容如下:
touch /user/local/bin/xcall chmod +x /user/local/bin/xcall vi/user/local/bin/xcall #!/bin/bash pcount=$# if((pcount==0));then echo no args; exit; fi echo ---------running at localhost-------- $@ for((host=101;host<=104;host++));do echo ---------running at hadoop$host------- ssh hadoop$host $@ done ~
比如我用這個xcall腳本在所有機器上調用pwd名稱,查看當前目錄,會依次提示輸入密碼后執行。
[root@hadoop100 ~]# xcall pwd ---------running at localhost-------- /root ---------running at hadoop101------- root@hadoop101's password: /root ---------running at hadoop102------- root@hadoop102's password: /root ---------running at hadoop103------- root@hadoop103's password: /root ---------running at hadoop104------- root@hadoop104's password: /root [root@hadoop100 ~]#
5. scp與rsync
然后我們說一下 scp這個工具。 scp可以在linux間遠程拷貝數據。如果要拷貝整個目錄,加 -r 就可以了。
[root@hadoop100 ~]# ls anaconda-ks.cfg [root@hadoop100 ~]# scp anaconda-ks.cfg hadoop104:/root/ root@hadoop104's password: anaconda-ks.cfg 100% 1233 61.1KB/s 00:00 [root@hadoop100 ~]#
另外還可以用rsync, scp是不管目標機上情況如何,都要拷貝以便。 rsync是先對比一下,有變化的再拷貝。如果要遠程拷貝的東西比較大,用rsync更快一些。 不如rsync在centOS上沒有默認安裝,需要首先安裝一下。在之前的文章中,我們的虛擬機已經可以聯網了,所以在線安裝就可以了。
[root@hadoop100 ~]# xcall sudo yum install -y rsync
比如,把hadoop100機器上的java sdk同步到102上去:
[root@hadoop100 /]# rsync -r /opt/modules/jdk1.8.0_121/ hadoop102:/opt/modules/jdk1.8.0_121/
看完上述內容,你們對怎么在VirtualBox中模擬一個Linux集群有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。