溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

怎么在VirtualBox中模擬一個(gè)Linux集群

發(fā)布時(shí)間:2021-03-23 16:47:32 來(lái)源:億速云 閱讀:174 作者:Leah 欄目:服務(wù)器

今天就跟大家聊聊有關(guān)怎么在VirtualBox中模擬一個(gè)Linux集群,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

1. 在主機(jī)Macbook上設(shè)置HOST

首先在Mac下修改hosts文件,這樣在ssh時(shí)就不用輸入ip地址了。

sudo vim /etc/hosts

或者

sudo vim /private/etc/hosts

這兩個(gè)文件其實(shí)是一個(gè),是通過(guò)link做的鏈接。注意要加上sudo, 以管理員運(yùn)行,否則不能存盤。

##
# 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. 復(fù)制虛擬機(jī)

然后我們需要由上次配好的這一臺(tái)虛擬機(jī),復(fù)制出來(lái)多臺(tái),以便形成一個(gè)集群。首先關(guān)閉虛擬,在上面點(diǎn)右鍵,選復(fù)制,出現(xiàn)如下對(duì)話框,我選擇把所有網(wǎng)卡都重新生成Mac地址,以便模擬完全不同的計(jì)算器環(huán)境。

怎么在VirtualBox中模擬一個(gè)Linux集群

3. 修改每一臺(tái)的HOST, IP地址

復(fù)制完畢后,記得登錄到虛擬機(jī),按照前面提到的方法修改一下靜態(tài)IP地址,免得IP地址沖突。

vi /etc/sysconfig/network-scripts/ifcfg-enp0s3
vi /etc/sysconfig/network-scripts/ifcfg-enp0s8

另外,最好也在每臺(tái)Linux 虛擬機(jī)里也設(shè)置一下HOSTNAME,以便這些虛擬機(jī)之前相互通訊時(shí)也可以使用hostname。需要依次把幾臺(tái)機(jī)器的hostname都設(shè)置好。

[root@hadoop101 ~]# hostnamectl set-hostname hadoop107
[root@hadoop101 ~]# hostname
hadoop107

4. xcall讓服務(wù)器集群同時(shí)運(yùn)行命令

因?yàn)槲覀兺瑫r(shí)有好幾臺(tái)機(jī)器,如果挨個(gè)挨個(gè)的登錄上去操作,難免麻煩,可以寫個(gè)shell腳本,以后從其中一臺(tái)發(fā)起命令,讓所有機(jī)器都執(zhí)行就方便多了。下面是個(gè)例子。 我有hadopp100,hadopp101、hadopp102、hadopp103、hadopp104這個(gè)五臺(tái)虛擬機(jī)。我希望以hadopp100為堡壘,統(tǒng)一控制所有其他的機(jī)器。 在/user/local/bin 下創(chuàng)建一個(gè)xcall的文件,內(nèi)容如下:

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
~

比如我用這個(gè)xcall腳本在所有機(jī)器上調(diào)用pwd名稱,查看當(dāng)前目錄,會(huì)依次提示輸入密碼后執(zhí)行。

[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

然后我們說(shuō)一下 scp這個(gè)工具。 scp可以在linux間遠(yuǎn)程拷貝數(shù)據(jù)。如果要拷貝整個(gè)目錄,加 -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是不管目標(biāo)機(jī)上情況如何,都要拷貝以便。 rsync是先對(duì)比一下,有變化的再拷貝。如果要遠(yuǎn)程拷貝的東西比較大,用rsync更快一些。 不如rsync在centOS上沒有默認(rèn)安裝,需要首先安裝一下。在之前的文章中,我們的虛擬機(jī)已經(jīng)可以聯(lián)網(wǎng)了,所以在線安裝就可以了。

[root@hadoop100 ~]# xcall sudo yum install -y rsync

比如,把hadoop100機(jī)器上的java sdk同步到102上去:

[root@hadoop100 /]# rsync -r /opt/modules/jdk1.8.0_121/ hadoop102:/opt/modules/jdk1.8.0_121/

看完上述內(nèi)容,你們對(duì)怎么在VirtualBox中模擬一個(gè)Linux集群有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI