說實話,寫這種安裝文檔一點兒意思沒有,本來不想寫,因為百度上能搜索到的資料有限,有的是N年前的版本,有的對遇到的坑一律不談,貌似安裝過程有如神注。這讓我等屌絲如何搞得懂?況且國內的學術氛圍不敢恭維,屌絲蝦米提的問題貼回答很少有形成閉環的,到底問題是如何解決的,亦或者沒解決,不得而知。出于憤青,把自己遇到的坑一一寫下來,給我等屌絲開條道。
今天先踩下虛擬機的坑。
先說下我的環境:
- 本地操作系統(下面統稱“宿主”)Windows10
- VirtualBox-5.1.22-115126-Win
- CentOS-6.5-x86_64-minimal.iso
- Ambari 2.5.1.0
- Java version "1.8.0_141"
安裝虛擬機的過程就不用說了,完成后新建虛擬機。這里要重點說下遇到的坑:
-
1. 在為虛擬機安裝CentOS時是否有64位的選項,如圖:
如果沒有,恭喜你踩到第一個坑!網上的方法有很多,搜“vbox 沒有64位選項” 一搜一大把,要改BIOS什么的,其他操作系統沒試過,如果是用的windows10,那些方法然并卵,正確的做法是“關閉windows的Hyper功能”,把有關“Hyper”的服務停掉,然后重啟系統。
-
2. 虛擬機分配多大的磁盤空間合適?
答:對于用來裝Ambari Server的虛擬機不少于20G,越大越好,除非你想在磁盤空間不夠時擴容!筆者剛開始只分配了20G,后來擴容到25G還捉襟見肘。
-
3. 內存多大合適?
答:至少16G,越多越好,你不想只跑個Hello World就行了吧?
-
4. 大坑來了:虛擬機如何配置網絡?
筆者創建了三臺虛擬機,其hostname分別是:
master.example.com
slaver1.example.com
slaver2.example.com
現在我們的需求是三臺虛擬機既能上網(需要用yum install)又能彼此ping通,同時還可以在宿主雞上使用類似Xshell 或者putty等客戶端訪問三臺機器,如何破?
虛擬機的三種上網方式:NAT,Host-Only,Bridged 都是被閹割過的,要么能上網,要么不能上網但內網直接可以Ping通,要么只能Ping通宿主機,不能Ping通其他內網機器,要么只能........(此處應該流汗)。也可能聰明的你已經想到對策了:雙網卡!!!!
對,你沒有聽錯,雙網卡,雙網卡,雙網卡! 一個網卡用NAT,一個網卡用Host-Only。如何做:
-
在確認虛擬機狀態為“關閉”的情況下, 在虛擬機的設置中,點擊“網絡” ,依次配置“網卡1”和“網卡2”的連接方式為“NAT”和“Host-Only” ,如圖:
-
配置完成后啟動虛擬機,用 ifconfig -a 命令查看網卡情況
正常情況下,可以看到有兩個網卡,eth0和eth1(你的網卡名稱可能不是eth0或者eth1,沒關系),還有個類似lo的,不用管這個。如果顯示的信息沒有兩個網卡,恭喜你又遇到一個坑,那應該:
- service network restart (重啟網卡,如果還看不到,繼續做第二步)
- reboot (重啟該虛擬機,如果還看不到,繼續第三步)
查看網卡的Mac地址:cat /etc/udev/rules.d/70-persistent-net.rules,
image.png這是個配置文件,里面記錄了網卡設備的Mac地址和對應的網卡名稱,如果你用ifconfig命令已經能看到其中之一的網卡,比如eth0,那么需要將另外一個網卡(eth1)的Mac地址Copy下來,然后在/etc/sysconfig/network-scripts 目錄下新建一個類似ifcfg-eth0的文件(比如新建ifcfg-eth1),并修改文件中的“Device”,“HWADDR”,“Name”,如下圖:
image.png- 完成3后,service network restart 重啟網絡服務,再用ifconfig -a 檢查是否有兩個網卡,且地址有個是內網地址,形如:192.168.XXX.XXX,而另一個是外網地址,如果都有,恭喜你這個大坑被你越過了。
你可以ping www.baidu.com看是否可以上網,以及能夠和其他虛擬機互ping(此時默認其他虛擬機已經如上配置好了雙網卡)
image.png- 如果還是沒不行,請撥打檢查院電話:)
至此虛擬機的坑差不多被踩完了,我遇到的坑可能與你的不同,歡迎一起交流。企鵝號:405578929
完成虛擬機配置后,就可以前往下一個坑了:
踩坑實錄2
歡迎轉載,但需要說明出處,謝謝理解!