HFTP文件系統(tǒng)解析

初探

抽象類org.apache.Hadoop.fs.FileSystem代表hadoop的一個(gè)文件系統(tǒng),目前系統(tǒng)已經(jīng)有很多個(gè)具體實(shí)現(xiàn):

文件系統(tǒng) URI前綴 hadoop的具體實(shí)現(xiàn)類
Local file fs.LocalFileSystem
HDFS hdfs hdfs.DistributedFileSystem
HFTP hftp hdfs.HftpFileSystem
HSFTP hsftp hdfs.HsftpFileSystem
HAR har fs.HarFileSystem
KFS kfs fs.kfs.KosmosFileSystem
FTP ftp fs.ftp.FTPFileSystem
S3 (native) s3n s.s3native.NativeS3FileSystem
S3 (blockbased) s3 fs.s3.S3FileSystem

Hadoop提供了很多接口來訪問這些文件系統(tǒng),最常用的是通過URI前綴來訪問正確的文件系統(tǒng)。比如:

hadoop fs -ls file:///.......
hadoop fs -ls hdfs:///.......

雖然理論上MapReduce可以使用上面這些系統(tǒng),但是如果我們處理海量數(shù)據(jù)的話還是要選用一個(gè)分布式文件系統(tǒng)hdfs或者kfs。

配置

hadoop-default.xml關(guān)于filesystem實(shí)現(xiàn)的配置hadoop-default.xml

<property>
  <name>fs.file.impl</name>
  <value>org.apache.hadoop.fs.LocalFileSystem</value>
  <description>The FileSystem for file: uris.</description>
</property>

<property>
  <name>fs.fms.impl</name>
  <value>org.apache.hadoop.hdfs.FMSFileSystem</value>
  <description>The FileSystem for hdfs: uris.</description>
</property>

<property>
  <name>fs.hdfs.impl</name>
  <value>org.apache.hadoop.hdfs.DistributedFileSystem</value>
  <description>The FileSystem for hdfs: uris.</description>
</property>

spark-client關(guān)于filesystem實(shí)現(xiàn)的配置core-site.xml

  <property>
    <name>fs.file.impl</name>
    <value>org.apache.hadoop.fs.LocalFileSystem</value>
    <description>The FileSystem for file: uris.</description>
  </property>
  
  <property>
    <name>fs.hdfs.impl</name>
    <value>org.apache.hadoop.fs.DFileSystem</value>
  </property>

  <property>
   <name>fs.webhdfs.impl</name>
   <value>org.apache.hadoop.smw.hdfs.web.WebHdfsFileSystem</value>
  </property>

HFTP介紹

HFTP 是hadoop文件系統(tǒng)用來讓你從一個(gè)遠(yuǎn)程的hadoop HDFS集群中讀取數(shù)據(jù)的組件。這個(gè)讀取是通過HTTP,并且數(shù)據(jù)源是DataNodes。HFTP是一個(gè)只讀的文件系統(tǒng),當(dāng)你試圖用來寫入數(shù)據(jù)或者修改文件系統(tǒng)狀態(tài)時(shí),會(huì)拋出異常。

HFTP 主要的幫助在有多個(gè)HDFS集群,并存在多個(gè)版本時(shí),將數(shù)據(jù)從一個(gè)集群遷移到另一個(gè)。HFTP 在不同版本的HDFS中是兼容寫的。你可以操作例如:

hadoop distcp -i hftp://sourceFS:50070/src hdfs://destFS:8020/dest

注意HFTP是只讀的,所以目標(biāo)端必須是HDFS文件系統(tǒng)。(在這個(gè)例子中,distcp會(huì)使用新文件系統(tǒng)的配置運(yùn)行。)

另外,HSFTP,默認(rèn)使用HTTPS。這意味著數(shù)據(jù)在傳輸?shù)臅r(shí)候會(huì)被加密。
https://hadoop.apache.org/docs/r2.6.3/hadoop-project-dist/hadoop-hdfs/Hftp.html

實(shí)現(xiàn)

HFTP的代碼在java 類org.apache.hadoop.hdfs.HftpFileSystem 中。同樣的,HSFTP也在org.apache.hadoop.hdfs.HsftpFileSystem中實(shí)現(xiàn).

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 當(dāng)數(shù)據(jù)量增大到超出了單個(gè)物理計(jì)算機(jī)存儲(chǔ)容量時(shí),有必要把它分開存儲(chǔ)在多個(gè)不同的計(jì)算機(jī)中。那些管理存儲(chǔ)在多個(gè)網(wǎng)絡(luò)互連的...
    單行線的旋律閱讀 2,081評(píng)論 0 7
  • 首先,我們?cè)谑褂们跋瓤纯碒DFS是什麼?這將有助于我們是以后的運(yùn)維使用和故障排除思路的獲得。 HDFS采用mast...
    W_Bousquet閱讀 4,470評(píng)論 0 2
  • 之前的有點(diǎn)忘記了,這里在云筆記拿出來再玩玩.看不懂的可以留言 大家可以嘗試下Ambari來配置Hadoop的相關(guān)環(huán)...
    HT_Jonson閱讀 3,207評(píng)論 0 50
  • 一個(gè)成熟的中大型組織中,專業(yè)人員會(huì)有不同序列技術(shù)級(jí)別上升通道,比如騰訊及百度的T系列,阿里的P系列等。一些公開介紹...
    wzf_taker閱讀 1,471評(píng)論 0 7
  • 一個(gè)人,一條路,人在途中,心隨景動(dòng),從起點(diǎn),到盡頭,也許快樂,或有時(shí)孤獨(dú),如果心在遠(yuǎn)方,只需勇敢前行,夢(mèng)想自會(huì)引路...
    行走的小木頭閱讀 308評(píng)論 1 1

友情鏈接更多精彩內(nèi)容