通過VMware搭建分散式叢集基礎環境(轉)
一、前言
在日常學習、工作當中,我們經常需要用到分散式叢集環境,如zookeeper叢集、redis叢集、大資料叢集等,而通常並沒有那麼多的物理機器可以使用,因此,通過虛擬機器搭建一套分散式叢集環境以供開發和測試,是一個不錯的選擇。本文講述的,就是如何通過vmware搭建一套虛擬機器叢集基礎環境,以便於後續搭建各種分散式元件的叢集。
二、安裝準備
1、硬體環境
既然是安裝虛擬機器,物理機本身硬體配置最好不要太低,否則到時虛擬機器、本機都卡就尷尬了。筆者測試安裝的
環境是Windows7 64位、I3 6代12G記憶體桌上型電腦。
2、軟體安裝包
vmware workstation 12、CentOS-7-x86_64-DVD-1611.iso、jdk-8u172-linux-x64.tar.gz。
三、環境搭建
1、安裝VMware
下載 VMware 安裝包後,根據提示一步一步安裝基本就可以了,這塊網上有不少文章,此處不再贅述。(關於金鑰,大天朝都懂的)
2、安裝CentOS
安裝好VMware後,就是在VMware中建立虛擬機器然後安裝系統了,不廢話,直接上圖:
2.1、新建虛擬機器
2.2、在新建的虛擬機器中安裝CentOS系統
說明:
CentOS系統安裝完成後,可能會提示你安裝(或更新)VMware Tools工具,可不更新。
3、配置網路
CentOS系統安裝完成後,可能會發現系統並未自動分配IP,外網也不通,如下圖:
這是因為沒有啟用網絡卡,編輯ifcfg_ens33
檔案啟用:
命令:
cd /etc/sysconfig/network-scripts/
- 1
vi ifcfg-ens33
- 1
將ONBOOT=no
修改為 ONBOOT=yes
儲存退出,然後執行命令 service network restart
可以看出,虛擬機器已經自動獲取了IP
192.168.5.128
,已經可以連線外網了。(因筆者之前有設定過虛擬機器的閘道器,所以此處自動獲取的IP是“5.X”的,一般自動獲取的IP是“1.X”的,即 “192.168.1.X”這樣的IP)
4、配置靜態IP
以上我們已經動態獲取了虛擬機器的IP,但動態IP可能會隨著虛擬機器的重啟而發生變化,特別是存在多臺虛擬機器都動態獲取IP時,不太利於我們的開發和測試,因此,統一配置靜態IP是有必要的。
第一步:設定VMware虛擬機器的閘道器。
設定完成後,依次點選“確定”儲存。
第二步:配置虛擬機器網絡卡檔案ifcfg-ens33
。
如圖所示,將BOOTPROTO=dhcp
修改為BOOTPROTO=static
,然後再新增指定的靜態IP、閘道器等配置,修改後的整體配置如下所示:(筆者此處沒有配置DNS解析地址,如有需要可再加一行DNS1=119.29.29.29
進行配置)
TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=47f26d69-2258-4ed9-b3df-56a6f50a8c35
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.5.101
NETMASK=255.255.255.0
GATEWAY=192.168.5.2
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
修改完成儲存,然後執行命令 service network restart
重啟網路服務。
可以看到,虛擬機器IP已修改為指定的靜態IP 192.168.5.101
。
5、安裝JDK
JVM是Java體系中的一個基礎環境,所以也有必要配置一下,方便後續克隆機器環境;當然如果不是java體系的,可略過此步驟。
具體關於JDK的安裝,就和普通CentOS系統安裝JDK一樣,這個比較普遍,此處不再贅述。(如有需要,可參考筆者另一篇文字https://blog.csdn.net/cndmss/article/details/51440188)
6、克隆虛擬機器
以上,我們已經建立了一臺虛擬機器,並且配置好了靜態IP、JDK等基礎環境(當然,如有需要,也可自行另外配置其它相關環境),那麼,如果說我們還需一臺或者說多臺虛擬機器的話,我們需要重新再來一遍嗎?
如果真是這樣,那真是一個痛苦的事情了!顯然,不需要每新建一臺虛擬機器就重新來一遍,我們可以通過VMware的克隆功能進行快速的擴充新的虛擬機器。(克隆的前提是先將虛擬機器電源關閉)
說明:建立快照的過程是非必須的,但是筆者還是建議建立,便於後續以及將來克隆虛擬機器。
由上,我們會發現,其實克隆虛擬機器還是非常方便且快速的。
7、調整測試
根據以上第6節,我們再克隆一臺虛擬機器,至此,我們一共建立了3臺虛擬機器,這3臺虛擬機器的配置都是一模一樣的;因此,作為一個最基本的可用叢集,我們還需要進行一些細微的調整。
第一步:我們把克隆的虛擬機器重新命名,以方便操作(F2鍵)
第二步:我們把CentOS7-slave1、CentOS7-slave2這2臺機器的IP分別修改為192.168.5.102
、192.168.5.103
。
第三步:修改3臺虛擬機器的hostname。依次修改為s1、s2、s3。(原來的hostname都是localhost.localdomain
)使用命令 vi /etc/hostname
依次修改3臺虛擬機器的hostname,並重啟虛擬機器。
經測試,3臺虛擬機器192.168.5.101、192.168.5.102、192.168.5.103
hostname已修改,網路互通,均可訪問外網。
至此,“通過VMware搭建分散式叢集基礎環境”就算基本完成了,後續,就可以在這個虛擬叢集機器上搭建各種分散式叢集元件了,非常便於日常學習以及開發測試。