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