您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關(guān)如何通過JavaAPI讀寫虛擬機里面的HDFS來創(chuàng)建文件夾,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關(guān)知識有一定的了解。
本講我們來講解如何讀寫另外一臺計算機上面的HDFS。在實際的環(huán)境中,我們的HDFS存儲和應(yīng)用程序很有可能是運行在不同的計算機上的。
上一講我們實現(xiàn)了網(wǎng)絡(luò)的互通,那么這一講我們來講解編寫一個java程序來讀寫hdfs.。
步驟:
1、確保兩臺電腦網(wǎng)絡(luò)互通(上一講內(nèi)容);
2、Centos里面的HDFS運行正常(上一講內(nèi)容);
3、Centos里面的防火墻開通9000端口(也就是centos里面的hdfs配置端口)
4、配置Windows里面的JDK;
5、配置Windows里面的Hadoop;
6、配置eclipse相關(guān)的hadoop插件或library包
7、創(chuàng)建Java程序。
在centos的防火墻開通9000端口,如下:
centos開啟后,在windows里面的瀏覽器可以訪問如下來測試是否能正常訪問該端口:(注意這里要用瀏覽器的極速模式或者谷歌瀏覽器,ie瀏覽器或者兼容模式可能無法訪問)
另外,下面的所有的cmd命令都需要在新打開的cmd窗口中操作,如果用之前打開的cmd窗口,有可能測試失敗,因為cmd都是針對打開窗口的時候的系統(tǒng)環(huán)境生效的。
本次演示的jdk版本
鏈接:https://pan.baidu.com/s/1X3hqp8DhdF-JEcK4rE6TyQ
提取碼:kvgj
我這里的jdk文件存放的位置。
配置java_home
配置class_path
配置path
最終測試 java 和javac 命令都正常即可。
把hadoop壓縮包解壓,和centos里面的是通用的,只不過后綴為tar.zip的壓縮包要不斷解壓才能得到最里面的文件夾。我這里是放在C盤根目錄下。
鏈接:https://pan.baidu.com/s/1AJLenl05gs75XOQJisOyFg
提取碼:4t4d
上面的hadoop的版本
然后配置path,把hadoop_home加入到path里面
保存后,cmd運行查看版本,或者直接在cmd命令框輸入hadoop,如果提示以下錯誤:
根據(jù)提示,打開hadoop下面的hadoop-env.cmd 這里要注意的是cmd后綴是針對windows的,同名的sh后綴的是針對linux系統(tǒng)的。
選中hadoop-env.cmd文件,然后點擊編輯(雙擊就直接運行了)。打開后把里面的“set JAVA_HOME=”改成如下:
上面要注意的是,因為我的java是放在 C:\Program Files 里面的,如果直接寫C:\Program Files\Java\jdk-13.0.2 那么在dos模式下系統(tǒng)是無法識別這個路徑的。
dos文件名模式下,“C:\Program Files”的縮寫是“PROGRA~1”。或者改成“C:\Program Files”\Java\jdk-13.0.2
也就是用雙引號括起來,否則系統(tǒng)無法識別有效的路徑。
設(shè)置完后,運行cmd,可以看到正常了。
winutils.exe是在Windows系統(tǒng)上需要的hadoop調(diào)試環(huán)境工具,里面包含一些在Windows系統(tǒng)下調(diào)試hadoop、spark所需要的基本的工具類,
單個winutils.exe鏈接:https://pan.baidu.com/s/1tsnA4dKOaaI-kdtjqZ5gTQ
提取碼:ip7h
下載后放在hadoop根目錄bin下面
否則會提示:
將hadoop.dll分別復(fù)制到hadoop根目錄的/bin和 C:\windows\system32目錄下。
單個hadoop.dll鏈接:https://pan.baidu.com/s/1kJBEDPXqOKmV1ZvhEbnB_Q
提取碼:02hs
演示用的eclipse版本是4.14:
安裝eclipse的hadoop插件,需要下載對應(yīng)hadoop的eclipse插件版本。這里演示的hadoop版本是2.9.2,所以插件也是匹配的版本。
單個hadoop插件鏈接:https://pan.baidu.com/s/1cNrQS3tTb3ZsDCb5C3ivlg
提取碼:5y5s
下面是eclipse安裝路徑:
先把eclipse關(guān)閉后,再把下載的hadoop-eclipse-plugin-2.9.2.jar放到dropins目錄下面。
這里要說下eclipse常見安裝插件的方式,網(wǎng)上很多方法都說把上面的jar放到plugins文件夾下面,其實eclipse從3.5版本后已經(jīng)進行了修改,安裝插件一般有3個方法:
1、直接用Eclipse在:“幫助”–>“安裝軟件”選項下安裝。
2、link安裝,方法是建一個links,里面建一個link文件把插件的路徑配過去。
3、dropins安裝方法,把需要的插件復(fù)制(拖放)到eclipse\dropins文件夾中,然后插件就安裝成功了(當然必須先解壓)。如要在其他機器上使用自己的插件。也只需要拷貝自己的dropins覆蓋掉原有的。
eclipse啟動后,可以看到在Project Explorer 多了一個“DFS Locations文件夾”
在windows-show view-other 啟動hadoop配置窗口
、
選中map/reduce locations 然后點擊確定,該窗口就可以顯示在IDE底部。
底部可以看到如下,點擊右邊藍色的大象圖標可以新增配置點:
在配置點中,我們輸入以下參數(shù),配置完后點擊“Finsh":
然后,再打開:window --> proferences
找到Hadoop Map/Reduce 點擊右邊的browse 配置本地hadoop的安裝路徑,配置好后點擊apply and close 來確認。
打開eclipse,這里創(chuàng)建一個java項目,名稱自定,
在map/reduce 里面選中 map/reduce project
起一個名稱,點擊next
完成后,我們可以看到新建的項目里面多了一個library包,里面包含了hadoop所用到的jar.
如果不到如hadoop的jar包,我們會發(fā)現(xiàn),很多問題,如下紅色波浪線:
首先:選中你自己創(chuàng)建的項目,如下:
然后點擊File->Properties->
然后選中“Java Buile Path->Libraries->ClassPath->Add Library->User Library” 來創(chuàng)建一個自定義的jar包存儲位置,然后點擊Next
然后點擊“User Libraries-->New...”在輸入框中輸入你要創(chuàng)建的Libraries的名稱,這里名稱自定,同樣是要見名知意。我這里是hadoopJar
最后點擊OK,然后點擊應(yīng)用按鈕“Apply and Close”進入到下面的界面。
點擊add external Jars 來添加jar包的路徑。把common下面的所有jar包選中就可以了。
如下common目錄下有
lib目錄下也有
souces里面也有
所有選完后我們展開hadoopJar可以看到有了很多jar包
最后點擊下面的“apply and close”
這時候我們可以看到,所有導(dǎo)包的語句沒有了波浪線。
注意我這里是要在我的hdfs的根目錄下面創(chuàng)建一個java的文件夾。我們看到原來centos的hdfs里面是沒有java這個文件夾的。
在項目的src文件夾里面創(chuàng)建一個package,
在name這里輸入名稱,名稱自定
,然后在包里面創(chuàng)建主類,主類名稱同樣自定。包主要是為了后續(xù)給class分類。
在主類中編寫代碼如下,不給你們源碼了,好好找找寫代碼的感覺:
也就是規(guī)定通過root
保存后運行結(jié)果如下,選擇“java application”:
結(jié)果如下:
最后,如果想統(tǒng)一下載所有內(nèi)容的,可以用這個鏈接(文件比較大):
鏈接:https://pan.baidu.com/s/1DIHvbSoWvYRLBaP7qQI9ng
提取碼:olgh
關(guān)于如何通過JavaAPI讀寫虛擬機里面的HDFS來創(chuàng)建文件夾就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。