項(xiàng)目開發(fā)中hadoop一直裝在虛擬機(jī)上,最近要遷移到服務(wù)器上。記錄下遷移過程。
一、為虛擬機(jī)添加一塊新的硬盤
虛擬機(jī)的初始硬盤只有30G,容不開要導(dǎo)出的數(shù)據(jù)。兩種方式,一是給虛擬機(jī)擴(kuò)容;二是為虛擬機(jī)添加一塊新的硬盤。這里采取第二種方式。
1、添加虛擬硬盤
![](/d/20211017/81b23b4df00cfa9e2afc1e37aa2621bc.gif)
![](/d/20211017/0295072cb33a99a44e591d970bfe3598.gif)
![](/d/20211017/16d66661f11d39bef2646db7aac6a22a.gif)
至此,添加硬盤成功。
2、將硬盤分區(qū)
要使用一塊新的硬盤,需要先將硬盤分區(qū),然后掛在文件系統(tǒng)上才能使用。
這里普及一下linux的文件系統(tǒng)與硬盤以及分區(qū)的關(guān)系。按照一個(gè)“由硬到軟”的順序來講,首先是硬盤,是物理的;我們要使用這個(gè)物理硬盤,需要將物理硬盤分成一個(gè)一個(gè)的分區(qū);而我們?cè)谑褂貌僮飨到y(tǒng)時(shí),則通過文件系統(tǒng)來操作文件。文件系統(tǒng)這個(gè)“軟件“是通過分區(qū)與硬盤這個(gè)“硬件”進(jìn)行聯(lián)系的:硬盤分成區(qū)后,以分區(qū)的形式掛在文件系統(tǒng)上。
舉例比較windows與linux文件系統(tǒng)的區(qū)別:
對(duì)于windows來講,比如我們的電腦上只安裝了一塊硬盤,這個(gè)硬盤分了四個(gè)區(qū),對(duì)應(yīng)我們文件系統(tǒng)中的CDEF盤。即四個(gè)分區(qū)在我們使用者看來是平級(jí)的。這時(shí)如果添加了一個(gè)
對(duì)于linux來講,硬盤也是以分區(qū)的形式掛載在文件系統(tǒng)上。這點(diǎn)與windows一致。不同的是,windows有多個(gè)文件系統(tǒng)樹(C:D:E:F:),而linux只有一個(gè)文件系統(tǒng)樹,也就是我們看到的,所有的目錄以及文件都是在根目錄 / 下的。那么linux是怎么掛的呢?linux會(huì)將不同的分區(qū)掛在不同的目錄下。
如圖:
![](/d/20211017/9296ddc4e8075a96cc58a71fef8a8b9e.gif)
圖中,文件系統(tǒng)其實(shí)就是我們上邊講的分區(qū),這些文件系統(tǒng)(分區(qū))共同組成了我們linux整個(gè)的文件系統(tǒng)。這里注意,其實(shí)文件系統(tǒng)與分區(qū)是統(tǒng)一的,可以認(rèn)為分區(qū)是文件系統(tǒng)的載體,我們上邊講它們兩者的關(guān)系,只是為了進(jìn)一步幫助理解。那么既然分區(qū)是掛在linux的基于根目錄的這棵“樹”上的,我們就將分區(qū)掛的這個(gè)目錄稱為掛載點(diǎn)。如上。
下邊我們來具體講解一下關(guān)于將硬盤分區(qū)的命令:
a、使用:fdisk -l 命令查看硬盤及分區(qū)信息,如圖:
![](/d/20211017/688ac4b04fb1edd3bafb9ff59b0cafa0.gif)
圖中,使用矩形圍起來的是硬盤,一般硬盤會(huì)按照sda、sdb、sdc的順序依次添加。下邊兩塊硬盤暫時(shí)不要考慮。
使用橢圓圈起來的是分區(qū),如硬盤sda有三個(gè)分區(qū),分別是sda1、sda2、sda3。
可以看到箭頭指向的硬盤sdc沒有分區(qū),這意味著這塊硬盤尚未被使用,這就是我們新添加的硬盤。
b、通過 fdisk /dev/sdc 對(duì)新硬盤進(jìn)行分區(qū)
![](/d/20211017/c228d6884157a32acf336cb136c4155e.gif)
輸入m可以打印我們的操作菜單,注意上邊紅線圈出 的命令,n代表新建一個(gè)分區(qū),p代表打印當(dāng)前硬盤的分區(qū)表,w代表向硬盤寫入分區(qū)表。接下來我們依次執(zhí)行。如圖:
![](/d/20211017/ee6a3d1086a5f2068509831bdbfe334e.gif)
輸入n,新建一個(gè)分區(qū),兩個(gè)選項(xiàng),p代表主分區(qū),e代表擴(kuò)展分區(qū),選擇p主分區(qū);第二次輸入p是為了打印分區(qū)表,可以看到分區(qū)sdc1創(chuàng)建成功。創(chuàng)建過程中的分區(qū)好,起始扇區(qū),last扇區(qū)使用默認(rèn)值直接回車即可。最后輸入w,寫入分區(qū)。
c、使用 mkfs -t ext4 /dev/sdc1 將新分區(qū)格式化成ext4的格式
如圖:
![](/d/20211017/0b6b45780074bf91221122232226bd56.gif)
d、通過 mount /dev/sdc1 /disk5 將新的分區(qū)sdc1掛載到目錄disk5下邊
如圖:
![](/d/20211017/0200eecd3f3a3ef566305e98b20e42ef.gif)
最后,我們通過df -lh /disk5 命令查看目錄disk5,發(fā)現(xiàn)其確實(shí)是新的分區(qū)sdc1,掛在成功。如此,便可正常使用新加的硬盤了。
小結(jié):用到了 fdisk df mkfs mount 等幾個(gè)命令,注意復(fù)習(xí)。
二、hadoop的命令的使用
1、首先需要執(zhí)行命令使hadoop命令能夠被識(shí)別。
export PATH=$PATH:/home/hadoop/hadoop-2.5.2/bin
2、hadoop的文件系統(tǒng)的命令與linux的命令十分一致,下邊舉例說明:
hadoop fs -ls / 表示列出根目錄下的所有文件(夾)
hadoop fs -put readme.txt /user/hadoop/test/ 表示將readme.txt文件上傳到hdfs的/user/hadoop/test/目錄下
hadoop fs -get / /hadoop_data 表示將hdfs文件系統(tǒng)根目錄/下的所有文件(夾)導(dǎo)出到本地的/hadoop_data目錄下
hadoop fs -rm / 表示刪除hdfs文件系統(tǒng)中的所有文件(夾)
總結(jié)
以上所述是小編給大家介紹的hadoop遷移數(shù)據(jù)應(yīng)用實(shí)例詳解,希望對(duì)大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會(huì)及時(shí)回復(fù)大家的!