基於VMWare虛擬機搭建Linux集羣
1.虛擬機的安裝
虛擬機(Virtual Machine)指通過軟件模擬的具有完整硬件系統功能的、運行在一個完全隔離環境中的完整計算機系統。在實體計算機中能夠完成的工作在虛擬機中都能夠實現。在計算機中創建虛擬機時,需要將實體機的部分硬盤和內存容量作爲虛擬機的硬盤和內存容量。每個虛擬機都有獨立的CMOS、硬盤和操作系統,可以像使用實體機一樣對虛擬機進行操作。
這裏是百度百科的解釋,我這裏不做過多說明,其實大家都應該瞭解
常見的虛擬機,JVM虛擬機…
這裏要說的,是這些虛擬機Oracle VirtualBox、VMWare Workstation等
那我們這裏採用的是VMWare Workstation。
那麼首先我們需要在電腦上裝一個VMWare Workstation。
這個過程,就不說了,請自行Google,本文以下是在Window10系統中基於VMWare Workstation15.5虛擬機的Linux集羣搭建
2.下載CentOS系統
官方鏈接: https://www.centos.org/download/
這裏我們點擊選擇更多版本,當然也可以直接下載最新版本
滾動條拉到頁面中部,我們這裏選擇下載6.8版本的CentOS,點擊Tree
選擇完整操作系統安裝包DVD1.iso
這裏選擇一個保險庫地址進項下載,點擊選擇後出現以下界面:
選擇6.8
選擇isos
根據自己電腦對應的系統,選擇i386<32位操作系統>或者x84_64<64位操作系統>下載,我這裏選擇64位操作系統
這裏選擇CentOS-6.8-x86_64-bin-DVD1.iso下載
正常情況下,國內下載國外的軟件都很慢,很多人都會選擇諸如某寶鏡像之類的,我就不愛通過鏡像下載,這裏推薦一個專門下載國外軟件的下載工具(非打廣告,本人一直在用,挺好使的),叫Persepolis Download Manager,谷歌一下就好了,填寫好下載地址,就可以直接下載了:
3.虛擬機安裝CentOS系統
打開我們的VMWare Workstation
這裏點擊文件
點擊新建虛擬機
選擇自定義,然後下一步
然後選擇硬件兼容性,選擇對應的VMWare Workstation版本,我這裏是15.0,然後下一步
選擇“稍後安裝操作系統”,然後下一步
選擇Linux操作系統及其對應我們剛剛下載的CentOS6的版本,然後下一步
這裏請記住第一個名字,虛擬機名稱,自己隨便寫一個,然後虛擬機的配置位置,然後下一步
填寫好處理器數量,及其內核數量,因爲這是安裝一個虛擬機,所以其實都無所謂的,可以根據自己電腦實際的配置填寫,然後下一步
這裏填寫好虛擬機的內存,根據自己的電腦配置來設置,我這裏設置2G,然後下一步
這裏選擇網絡類型,通常一般選擇NAT模式,簡單說下橋接網絡,意思是虛擬機和主機電腦使用相同的王磊配置,虛擬機上網通過主機來上網,NAT是指將虛擬機也當做一臺電腦,使用不一樣的配置來上網。選擇完成後,下一步
使用推薦,然後下一步
繼續,下一步
選擇“創建新的虛擬機磁盤”,然後下一步
這裏指定磁盤容量,選擇推薦大小20G,後面單個多個看自己選擇,單個就是分配一塊兒空間就是20G,多個就是拆分磁盤大小,類似windows的C盤、D盤等等,這裏我就選擇單個文件,不拆分了,然後下一步
這裏直接下一步
這裏選擇配置自定義硬件,可以查看修改信息,這裏就不做修改了,基本都是前面的配置,然後單擊完成
完成後,在我的計算機裏就有了一個MyCentOS的虛擬機了,
點擊編輯虛擬機設置
點擊CD/DVD(IDE),然後選擇連接,使用ISO映像文件,然後瀏覽,找到前面我們下載好的CentOS-6.8-x86_64-bin-DVD1.iso鏡像文件。
點擊高級,然後選擇IDE,然後確定,最後點擊確定
在主界面,點擊開啓此虛擬機
稍等片刻,進入系統安裝界面
選擇第一個,安裝
這裏點擊跳過,注意:正常情況下,會到這裏,然後有些電腦,可能會出現“Intel VT-x處於禁用狀態”這種情況,然後自行根據自己電腦,自行開啓就好了,這個每個電腦不一樣,請自行谷歌。
點擊下一步
這裏選擇好語言,我選擇了中文,這裏就根據自身情況了,然後下一步
這裏配置鍵盤語言,一般默認就好,然後下一步
選擇基本存儲設備,然後下一步
這裏彈出警告,我們直接選擇“是,忽略所有數據”
這裏給主機命名,爲了防止記不住,我就直接寫個和我虛擬機一樣的名字了。
這裏設置時區和時間,然後我們可以勾選“系統時鐘使用UTC時間”,也可以不用勾選,我這裏沒有勾選,然後下一步
這裏設置密碼,這就不說了,然後默認超級用戶是“root”,然後下一步
這裏,我們選擇創建自定義佈局
這裏我們可以看見剛剛我們設置的20G的硬盤,然後這裏做簡單的化劃分,點擊創建
選擇“標準分區”,然後創建:
掛載點,填寫/boot,表示系統在本地啓動時,所用到的目錄,200M就夠了,這個目錄還是 比較重要的,點擊確定,
點擊空閒空間,繼續創建
依然選擇標準分區後,建一個/目錄,大小指定10G容量.
然後繼續創建
這次創建一個“文件系統類型”爲swap的分區,大小和之前設定的虛擬機內存大小,前面我設置的2G,這裏設置2G,swap表示交換分區
然後下一步
選擇格式化
選擇“將修改寫入磁盤”
這裏直接下一步
選擇“Desktop”,選擇“現在自定義”,然後下一步
把這裏自帶的JDK去掉,我們後面自己去安裝,然後下一步
然後就是等待安裝過程
等待安裝完成
這裏就表示我們的Linux系統就安裝好了
點擊重新引導,然後等待系統啓動,進入歡迎界面
點擊前進
同意並前進
這裏可以創建用戶,我們之前安裝過程所默認的是root,超級管理員,我們知道,Linux系統可以有多個用戶,這裏就看自己喜好,創建幾個用戶了,然後點擊前進
這裏我們可以設置日期和時間,點擊前進
這裏我們直接選擇完成,後面會有提示,我們直接點擊是,最後虛擬機系統會重啓
這裏點擊其他,使用超級管理員root登錄
這就是我們的主界面了。
這裏就表示虛擬機Linux安裝成功了。
4.虛擬機和本機文件通信
安裝完成後,虛擬機內操作系統的屏幕不能很自然的自適應虛擬機的大小,同時也不能讓虛擬機的操作系統和本機進行文件相互交換,這時候,我們可以安裝vmware tool.
點擊VMware Workstation工具欄的虛擬機,點擊“安裝VMware Tools”
桌面會自動生成這個工具,然後我們將這個壓縮文件,拖動到桌面進行解壓縮
解壓縮,我們可以右鍵打開解壓
但是我們這裏使用命令行來解壓縮,使用命令:tar -zxvf
然後點擊解壓縮
點擊解壓縮到創建的文件夾
然後我們打開解壓縮的文件夾,找到這個.pl結尾的安裝文件,右鍵打開
選擇在終端運行
然後這裏是安裝的一些列提示,我們一路回車確定
然後等待安裝
安裝完成後,我們需要重啓虛擬機,通過命令行“reboot”重啓虛擬機,也可以在工具欄重啓
重啓完成,屏幕自適應虛擬機大小了,然後我們可以試試,複製本機(物理機)的文件,直接粘貼到虛擬機中了
直接拖動即可,也可以複製粘貼。
此外也可以通過共享文件夾的形式,實現真實物理機和虛擬機的文件交換,這裏也說明下這種實現方式
關閉虛擬機的狀態下,點擊編輯虛擬機設置
然後點擊選項
按照上圖所示,然後下一步
設置完共享文件夾後,下一步
點擊完成,開啓虛擬機
點擊確定
然後開啓虛擬機
在虛擬機中如圖所示(/mnt/hgfs/),找到物理機共享的文件夾,我們也可以通過這個共享文件夾和物理機進行文件交換了
5.虛擬機網絡配置
我們安裝的虛擬機,目前是不可以上網的
這個時候,我們需要進行網絡配置
點擊虛擬機網絡編輯器
選擇VMnet8 ,然後更改設置
設置如上圖所示,選擇VMnet8,然後更改子網IP:爲192.168.2.0;這裏可以根據自己的設置情況來設置,然後點擊DHCP設置
設置起始和結束IP地址設置,這裏是一個區間,這裏做點說明,由於可能存在搭建多個虛擬機服務器,然後會有多個服務器集羣,所以,最後我們設置的虛擬機系統的IP一定需要在這個(128-254)區間
點擊NAT設置,設置網關,網關一般是以1結束,所以我們這裏設置192.168.2.1,最後點擊確定
本機網絡設置(這裏以window10爲例),點擊打開網絡設置
點擊更改網絡適配器選項,然後選擇VMnet8,右鍵屬性
選擇Internet協議版本4,點擊屬性
修改IP地址爲192.168.2.9,默認網關爲192.168.2.1,這裏做些說明,默認網關需要和虛擬機的網關保持一致,然後真實物理機的IP可以隨便寫,差不多就行,這裏的意思就是,本機物理機通過192.168.2.9去訪問等下配置的虛擬機的IP《192.168.2.128-192.168.2.254》
下面我們配置虛擬機的網卡配置
執行命令:vi /etc/sysconfig/network-scripts/ifcfg-eth0
鍵盤輸入i,進入文本編輯模式:
修改以下參數:
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=192.168.2.169//本虛擬機IP地址,在168-254之間
GATEWAY=192.168.2.1//網關-前面我們配置的
BROADCAST=192.168.2.255//廣播
下面可以不用設置,如果出現網絡不通的時候,可以添加這個DNS域名解析
DNS1=114.114.114.114//dns域名解析
DNS2=8.8.8.8//dns域名解析
填寫完,按ESC退出編輯模式,輸入:x保存並退出
虛擬機域名設置:vi /etc/hosts
增加:192.168.2.169 MyCentOS,:x保存退出
本機物理機配置域名:
在本機C:\Windows\System32\drivers\etc下,修改hosts文件,這裏我之前配了一個虛擬機,現在增加這個新的虛擬機
虛擬機停止已有服務:service NetworkManager stop
虛擬機重新啓動:/etc/init.d/network restart
虛擬機關閉開機自啓:chkconfig NetworkManager off
虛擬機設置網關 vi /etc/resolv.conf 追加nameserver 192.168.2.1(網關)
虛擬機重啓網卡 service network restart
然後重啓虛擬機,就可以進行網絡訪問了:
同時我們執行以下命令,來關閉虛擬機防火牆信息:
關閉CentOS防火牆:service iptables stop
禁止開機啓動:chkconfig iptables off
安裝時間同步插件
自動同步時間:yum -y install ntp ntpdate
設置時間同步:
ntpdate cn.pool.ntp.org
將系統時間寫入到硬盤時間:
hwclock –systohc
這時候,CentOS系統時間就應該是同步的了
6.本機物理機下載Xshell連接操作虛擬機
也可以使用其他的連接工具,這裏僅僅是個人覺得Xshell好用
進入官網: https://xshell.en.softonic.com/
點擊download
繼續點擊download
頁面拉到最下面,下載免費的,當然有條件的可以選擇所有的付費下載,這裏選擇免費版
這裏填寫姓名和郵件,官方會發到郵箱中一個下載地址,這裏說明下,Xshell是指SSH連接,即遠程連接Linux系統,Xftp是文件管理工具。這裏選擇兩者都要。點擊下載,官方會發到指定郵箱,2個下載文件地址。點擊下載,然後安裝即可。這裏不做過多描述了。
打開Xshell:
名稱隨便填,這裏我填寫我前面的名稱
主機填寫虛擬機IP,我這裏是192.168.2.169
點擊確定,然後雙擊打開這個連接,會提示輸入用戶名
這裏使用超級管理員登錄
這裏輸入密碼,點擊確定
這裏提示就連接成功了。
7.虛擬機安裝Java環境
這裏使用rpm安裝,對於Linux而言,rpm就相當於window的exe
這裏可以在虛擬機中下載,也可以在本機物理機中下載,這裏選擇本機下載,因爲試了下虛擬機中下載實在太慢,估計應該虛擬機是通過物理機聯網,然後存在網絡的些許問題,真實物理機中下載速度要快些,所以這裏選擇在物理機中下載:
進入官網:https://www.oracle.com/java/technologies/javase-jdk8-downloads.html
點擊.rpm下載
這裏就不贅述這個過程了,後面還有登錄oracle操作。。。。。。最後下載的時候,可以使用前面推薦的下載工具,比直接下載要好很多。
下載完成後,將下載好的jdk-8u241-linux-x64.rpm複製到虛擬機中:
這裏使用在物理機中,通過Xshell使用命令安裝文件
在虛擬機中使用pwd命令查看文件存放路徑
物理機中,使用Xshell切換到這個路徑
ll命令查看文件
執行安裝文件命令:rpm -ivh XXX
後面XXX表示要安裝的文件名字
回車
這裏表示安裝完畢
在Linux中,安裝完成的路徑在/usr中
如圖所示,安裝完成了。
下面配置環境變量,在Linux中,環境變量配置,是修改文件,在/etc/profile文件中,這裏需要修改這個文件
執行 vi /etc/profile
鍵盤i進入編輯模式,
增加如下信息:
export JAVA_HOME=/usr/java/jdk1.8.0_241-amd64
export CLASSPATH=$JAVA_HOME$\lib:$CLASSPATH
export PATH=$JAVA_HOME$\bin:$PATH
:x保存退出後,刷新環境變量:source /etc/profile
執行java -version,查看安裝版本
虛擬機中查看版本:
至此,java環境也安裝好了
8.CentOS集羣環境搭建
關閉虛擬機,克隆虛擬機服務器
右鍵管理,選擇克隆
下一步
選擇虛擬機中的當前狀態,下一步
選擇創建完整克隆,下一步
填寫好虛擬機名稱和位置,點擊完成
類似的方法,我們這裏再次克隆一個出來
這裏我克隆了倆,然後因爲我本機之前裝了一個2G的虛擬機,所以我把這三臺機子的內存都改成1G(主要我本機電腦內存不夠大,這虛擬機就已經佔了2+1*3=5G了,尷尬,如果你電腦內存足夠大,就可以不用改)。
下面我們需要修改一些信息,讓克隆出來的虛擬機能夠正常使用。
修改虛擬機名字:執行vi /etc/sysconfig/network
MyCentOSOne修改爲MyCentOSOne
MyCentOSTwo修改爲MyCentOSTwo
修改虛擬機IP:
執行vi /etc/sysconfig/network-scripts/ifcfg-eth0
修改IP(根據第一個的設置,這裏分別爲192.168.2.170,192.168.2.171),刪除HWADDR,UUID(克隆的一樣了,這裏需要刪除,後面啓動的時候會自動生成)
第二臺:
刪除Linux還原文件
執行:rm -r /etc/udev/rules.d/70-persistent-net.rules
每臺虛擬機追加映射:vi /etc/hosts
追加:
192.168.2.170 MyCentOSOne
192.168.2.171 MyCentOSTwo
重啓虛擬機
物理機配置:
這時候,我們可以相互ping通所有服務了,包括主機ping虛擬機,虛擬機之間等等
於是,我們完成了多臺節點的搭建
在Xshell中添加連接
9.CentOS集羣間免密登錄
目前我們在每一個服務器上,只能訪問自己的服務器,若需要切入到另外服務器,需要登錄操作,有時候,此操作過於繁瑣,這裏我們可以設置服務器節點之間免登錄訪問。其原理主要是,在服務器本身生成2把鑰匙,其中一把鑰匙給自己,另外一把鑰匙給公網其他服務器,就可以達到服務器之間免登錄訪問,即:
在每臺虛擬機上執行:ssh-keygen -t rsa,生成密鑰和公鑰
這裏通過Xshell執行的,後面一直回車就好了
生成的祕鑰在/root/.ssh/中,包含2個文件,其中.pub是公鑰,另外一個是私鑰
發送私鑰給本機,公鑰給其他虛擬機
發送私鑰給本機:ssh-copy-id localhost
需要輸入用戶密碼,既root的密碼
公鑰給其他虛擬機:ssh-copy-id MyCentOSOne
於是,我們可以通過在登錄MyCentOS可以切換到MyCentOSOne中去
如圖所示,我先登錄到MyCentOS,隨後直接切換到MyCentOSOne
通過此方法,我們可以將每臺虛擬機之間,實現集羣免密訪問