在家搭建大數(shù)據(jù)分布式計(jì)算環(huán)境!
0. 前言
分布式并行編程可以大幅提高程序性能,實(shí)現(xiàn)高效的批量數(shù)據(jù)處理。分布式程序運(yùn)行在大規(guī)模計(jì)算機(jī)集群上(廉價(jià)的服務(wù)器),可以并行執(zhí)行大規(guī)模數(shù)據(jù)處理任務(wù),從而獲得海量的計(jì)算能力。因此目前常用的大數(shù)據(jù)軟件都可以部署在分布式計(jì)算環(huán)境種。
關(guān)于大數(shù)據(jù)的概論,在前面的文章中已經(jīng)詳細(xì)講解,這里就不再贅述。對(duì)于想學(xué)習(xí)大數(shù)據(jù)的同學(xué)而言,自己在家買設(shè)備顯然成本過高,租用云服務(wù)器的價(jià)格也不便宜,對(duì)于初學(xué)者而言相當(dāng)?shù)牟粍澦恪?/p>
如果我們?cè)诩乙蚕塍w驗(yàn)一下大數(shù)據(jù)軟件分布式計(jì)算的感覺,那就動(dòng)手一起來搭建吧!
1. 安裝VirtualBox
為了體驗(yàn)分布式的計(jì)算環(huán)境,就需要有多臺(tái)設(shè)備,但是家用一般也只會(huì)有1臺(tái)物理機(jī)器,想體驗(yàn)分布式計(jì)算就需要使用虛擬機(jī)搭建多個(gè)虛擬電腦。
這里我們推薦VirtualBox軟件來搭建虛擬機(jī)
鏈接:https://link.zhihu.com/?target=https%3A//www.virtualbox.org/
進(jìn)入到VirtualBox的頁面 點(diǎn)擊Download,根據(jù)自己的電腦選擇相應(yīng)的版本


安裝好VirtualBox后的界面

2. 配置虛擬環(huán)境
實(shí)際的大數(shù)據(jù)架構(gòu)一般都會(huì)部署到linux系統(tǒng)上,因此對(duì)于虛擬機(jī)的操作環(huán)境我們選擇了界面做的不錯(cuò)的Ubantu的操作系統(tǒng)。
點(diǎn)擊新建,開始創(chuàng)建虛擬環(huán)境,名稱就是虛擬機(jī)電腦的名稱,文件夾就是虛擬機(jī)所在的位置,類型我選擇Linux,版本根據(jù)自己電腦型號(hào)選擇32-bit和64-bit。
然后點(diǎn)擊下一步:

這里需要我們,選擇內(nèi)存大小,這里根據(jù)自己的實(shí)際機(jī)器硬件條件來設(shè)置,這里我們建議內(nèi)存為4G:

然后點(diǎn)擊下一步-->點(diǎn)擊創(chuàng)建--> 點(diǎn)擊下一步-->點(diǎn)擊下一步。
直到這里 創(chuàng)建虛擬硬盤 我們稍微給虛擬硬盤的空間大一些50G:

點(diǎn)擊創(chuàng)建 這樣我們的虛擬機(jī)就創(chuàng)建好了。

點(diǎn)擊啟動(dòng)。這里會(huì)讓你選擇啟動(dòng)盤,點(diǎn)擊注冊(cè)-->選中提前下載好的Ubantu系統(tǒng)-->點(diǎn)擊打開/
注意這里一定要選中Ubantu的系統(tǒng),不要選擇物理設(shè)備

選擇好ubantu系統(tǒng)后,我確認(rèn)一下,然后點(diǎn)擊啟動(dòng)

Ubantu系統(tǒng)啟動(dòng)!

英語不好的同學(xué)這里也可以選擇漢語


這里可以選擇 Noramal installtion 就是正常安裝
也可以選擇Minimal installtion 就是最小化安裝 只安裝Ubantu系統(tǒng)所需要的組件,不安裝其它東西,能夠最大程度減少電腦的壓力。

這里選擇最小安裝

選擇所在的時(shí)區(qū)

這里就是配置用戶名和密碼

配置密碼
配置好了以后進(jìn)入漫長的等待

這樣我們一個(gè)虛擬機(jī)就建好了
3.配置Virtual Box
3.1 配置粘貼板
點(diǎn)擊共享粘貼版-->選擇雙向

3.2 安裝增強(qiáng)功能
點(diǎn)擊Eject 退出虛擬光驅(qū)

點(diǎn)擊設(shè)備-->安裝增強(qiáng)功能

3.3 linux環(huán)境以及軟件配置
點(diǎn)擊Terminal

接下來設(shè)置基礎(chǔ)的環(huán)境
sudo su -
passwd root #設(shè)置root密碼
exit
#安裝必要的軟件
sudo apt upgrade -y
sudo apt install vim net-tools -y
sudo apt install software-properties-common
sudo add-apt-repository ppa:deadsnakes/ppa #添加鏡像源
sudo apt install openssh-server -y #配置ssh環(huán)境
systemctl status ssh
#-----以下為選擇安裝部分 根據(jù)自己實(shí)際情況選擇-----
sudo apt install python3.8 -y #安裝python3.8
sudo apt install default-jre -y
python3 #檢驗(yàn)是否安裝好
sudo apt install openjdk-11-jdk-headless -y #安裝java
java --version

3.4 網(wǎng)絡(luò)環(huán)境配置
我們希望虛擬機(jī)能夠連接外部網(wǎng)絡(luò) 同時(shí)也能互相連接

接下來設(shè)置虛擬機(jī)內(nèi)部網(wǎng)絡(luò)通信 添加虛擬網(wǎng)絡(luò)
點(diǎn)擊創(chuàng)建




到這里我們單獨(dú)的一臺(tái)機(jī)器就全部配置好了

接下來就是去做克隆的工作 復(fù)制的虛擬機(jī)會(huì)和前面的一模一樣!
點(diǎn)擊虛擬機(jī)-->點(diǎn)擊右鍵-->點(diǎn)擊復(fù)制/clone (修改虛擬機(jī)的名稱和路徑)-->點(diǎn)擊下一步-->點(diǎn)擊復(fù)制
注意這里一定要重新生成MAC地址,不然虛擬機(jī)之間通信會(huì)有問題!


現(xiàn)在我們就有3臺(tái)配置好的虛擬機(jī)了

這里我們需要看以下MAC是不是更換了,如果沒有更換就點(diǎn)擊旁邊的刷新按鈕隨機(jī)生成一個(gè)

4. 配置分布式的環(huán)境
進(jìn)入到不同的電腦看看虛擬機(jī)不同的ip
ifconfig

其中這個(gè)196.168.56.3就是這個(gè)虛擬機(jī)局域網(wǎng)的ip
接下來修改機(jī)器的名稱
sudo vim /etc/hostname #修改機(jī)器名稱
按i 進(jìn)入編輯模式 修改當(dāng)前機(jī)器的名稱 比如這臺(tái)我們修改為bigdata-node1

全部修改完后我們修改每臺(tái)電腦的host:
sudo vim /etc/hosts #修改局域網(wǎng)內(nèi)的別名

ping bigdata-node2

到這里我們分布式計(jì)算環(huán)境就全部搭建好了
5. 小結(jié)
本文通過VirtualBox構(gòu)建了3臺(tái)虛擬機(jī),并在虛擬機(jī)上安裝了Ubantu系統(tǒng),通過設(shè)計(jì)虛擬網(wǎng)卡讓3臺(tái)虛擬機(jī)之間能夠互相通信,這樣的虛擬機(jī)和真實(shí)的分布式環(huán)境相當(dāng)?shù)慕咏卜奖阄覀冊(cè)诩殷w驗(yàn)分布式計(jì)算環(huán)境。
我們可以在虛擬機(jī)上部署Mysql、Hadoop、Hive、zookeeper、kafka等大數(shù)據(jù)軟件,不同的軟件部署的方法也不盡相同,由于篇幅的限制,這里我們不詳細(xì)的介紹這些軟件的安裝流程。
本文通過介紹虛擬機(jī)的安裝過程,目的是起到一個(gè)拋磚引玉的作用,解決學(xué)習(xí)大數(shù)據(jù)過程中沒有分布式環(huán)境進(jìn)行實(shí)驗(yàn)這一痛點(diǎn)。當(dāng)然如果條件容許的話,使用云服務(wù)器會(huì)更好,能進(jìn)一步理解軟件部署到云上的過程。
