1. 程式人生 > >通過VMware搭建分散式叢集基礎環境(轉)

通過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.102192.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.103hostname已修改,網路互通,均可訪問外網。
  至此,“通過VMware搭建分散式叢集基礎環境”就算基本完成了,後續,就可以在這個虛擬叢集機器上搭建各種分散式叢集元件了,非常便於日常學習以及開發測試。