1. 程式人生 > >不僅是HDFS,Hadoop支援多種檔案系統

不僅是HDFS,Hadoop支援多種檔案系統

 org.apache.hadoop.fs.FileSystem

 這個抽象類代表hadoop的一個檔案系統,目前系統已經有很多個具體實現:

 檔案系統                 URI字首       hadoop的具體實現類

  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            fs.s3native.NativeS3FileSystem

  S3 (blockbased)      s3      fs.s3.S3FileSystem

 Hadoop提供了很多介面來訪問這些檔案系統,最常用的是通過URI字首來訪問正確的檔案系統。比如:

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

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

 MapReduce使用的檔案系統

雖然理論上MapReduce可以使用上面這些系統,但是如果我們處理海量資料的話還是要選用一個分散式檔案系統hdfs或者kfs。

 程式碼片段

  private static FileSystem createFileSystem(URI uri, Configuration conf
      ) throws IOException {
    Class<?> clazz = conf.getClass("fs." + uri.getScheme() + ".impl", null);
    if (clazz == null) {
      throw new IOException("No FileSystem for scheme: " + uri.getScheme());
    }
    FileSystem fs = (FileSystem)ReflectionUtils.newInstance(clazz, conf);
    fs.initialize(uri, conf);
    return fs;
  }

  hadoop-default.xml關於filesystem實現的配置

  fs.file.impl=org.apache.hadoop.fs.LocalFileSystem

  fs.hdfs.impl=org.apache.hadoop.hdfs.DistributedFileSystem

  fs.s3.impl=org.apache.hadoop.fs.s3.S3FileSystem

  s.s3n.impl=org.apache.hadoop.fs.s3native.NativeS3FileSystem

  fs.kfs.impl=org.apache.hadoop.fs.kfs.KosmosFileSystem

  fs.hftp.impl=org.apache.hadoop.hdfs.HftpFileSystem

  fs.hsftp.impl=org.apache.hadoop.hdfs.HsftpFileSystem

  fs.ftp.impl=org.apache.hadoop.fs.ftp.FTPFileSystem

  fs.ramfs.impl=org.apache.hadoop.fs.InMemoryFileSystem

  fs.har.impl=org.apache.hadoop.fs.HarFileSystem

  增加檔案系統

  只要我們實現org.apache.hadoop.fs.FileSystem介面就可以增加一種hadoop能夠訪問的檔案系統,非常的方便

  fs.xxx.impl=org.apache.hadoop.fs.xxxFileSystem

相關推薦

不僅HDFSHadoop支援多種檔案系統

 org.apache.hadoop.fs.FileSystem  這個抽象類代表hadoop的一個檔案系統,目前系統已經有很多個具體實現:  檔案系統                 URI字首       hadoop的具體實現類   Local          

Atittit HDFS hadoop 大資料檔案系統java使用總結 目錄 1. 作業系統進行操作 1 2. Hdfs 類似nfs ftp遠端分散式檔案服務 2 3. 啟動hdfs服務start

Atittit HDFS hadoop 大資料檔案系統java使用總結   目錄 1. 作業系統,進行操作 1 2. Hdfs 類似nfs ftp遠端分散式檔案服務 2 3. 啟動hdfs服務start-dfs.cmd 2 3.1. 配置core-site

在搭建Hadoop 分散式叢集的時候多次格式化檔案系統啟動hdfs,yarn後jps 發現datanode為啟動

可以參考:https://www.cnblogs.com/dxwhut/p/5679501.html https://blog.csdn.net/baidu_15113429/article/details/53739734 https://www.cnblogs.com/lishpei/p

Hadoop支援多種檔案系統URI格式

org.apache.hadoop.fs.FileSystem 這個抽象類代表hadoop的一個檔案系統,目前系統已經有很多個具體實現: 檔案系統 URI字首 hadoop的具體實現類 Local

linux基礎3-磁碟和檔案系統相關 LINUX支援哪些檔案系統 linux下磁碟分割槽詳解 圖文(fdisk;mkfs)

一 dumpe2fs :    在Linux使用過程中,我們如果要了解檔案系統的配置情況,可以使用dumpe2fs檢視ext2/ext3/ext4格式的檔案系統資訊。 命令格式: dumpe2fs [選項] 裝置 常用選項: -h  僅列出超級塊中的資訊

debian9安裝busybox並製作根檔案系統(2)

3,製作根檔案系統 在上文debian9安裝busybox,並製作根檔案系統(1)中輸入make install命令進行安裝,busybox會自動將rootfs根檔案系統安裝到之前設定的目錄下,之前我設定的是/home/guoyanzhang/rootfs,進入之後, ##ls -l drw

debian9安裝busybox並製作根檔案系統(1)

1,構建根檔案目錄 ##mkdir rootfs ##mkdir root home bin sbin etc dev usr lib tmp mnt sys proc ##mkdir usr/lib usr/bin 2,安裝busybox 2.1,下載busybox安裝包,https

3、簡述Linux支援哪些檔案系統及其特點

答:ext2和ext3. ext2的特性:1、當建立ext2檔案系統時,系統管理員可以根據預期的檔案平均長度來選擇最佳塊的大小(從1024到4069位元組)                     2:當建

linux支援ntfs檔案系統格式!!!

由於Linux系統預設是不支援NTFS檔案系統的,因此,我們基本不能在Linux系統中掛載NTFS檔案系統型別的硬碟或行動硬碟。 為此,最主要的問題是如何使Linux系統支援NTFS檔案系統。 一般情況下,在Linux系統中,我們並不需要手動安裝某些驅動,因為,大多數驅動

面向雲資料庫超低延遲檔案系統PolarFS誕生了

阿里妹導讀:隨著國內首款Cloud Native自研資料庫POLARDB精彩亮相ICDE 201

Flume1.4 相關引數設定將收集的資料彙總到hdfs解決許多小檔案問題

參照官方文件,將 flume client 收集的日誌檔案 彙總到  flume sink收集端,然後儲存到hdfs 中,預設會按生成許多小檔案,如圖所示 實際中可能只需要生成一個檔案即可,這就涉及到了幾個相關引數設定如下即可 需要修改的檔案位於 flume/con

qemu 模擬-arm-mini2440開發板-啟動u-bootkernel和nfs檔案系統

qemu 本文介紹瞭如何編譯u-boot、linux kernel,然後用qemu啟動u-boot和linux kernel,達到與開發板上一樣的學習效果! 雖然已經買了2440開發板,但是在實際學習開發過程中,還是覺得不方便,既然這樣,那就用qemu模擬2440開發板,

讓CentOS支援ext4檔案系統

需要將一塊硬碟格式化成ext4檔案系統,結果報錯了: # mkfs.ext4 /dev/xvdb -bash: mkfs.ext4: command not found 上網查了下,發現CentOS預設是支援ext4檔案系統的,不過需要使用者自己動手配置一下。於是就動

讓linux支援NTFS檔案系統-45

1、從新編譯linux核心由於linux核心出的比較早,而NTFS檔案系統出的比較晚,所以預設Linux核心是不支援NTFS檔案系統的,也就是核心不包含NTFS檔案系統的驅動。在linux裡電腦的硬體裝置驅動都被包含在linux的核心裡,在安裝作業系統的時候都是自動安裝驅

給大家分享一篇 http上傳協議之檔案流實現輕鬆支援檔案上傳

最近在公司進行業務開發時遇到了一些問題,當需要上傳一個較大的檔案時,經常會遇到記憶體被大量佔用的情況。公司之前使用的web框架是一個老前輩實現的。在實現multipart/form-data型別的post請求解析時, 是將post請求體一次性讀到記憶體中再做解析

Linux下檢視當前核心系統支援檔案系統

[email protected] ~ $ mount /dev/sda5 on / type ext4 (rw,errors=remount-ro) proc on /proc type proc (rw,noexec,nosuid,nodev) sysfs on /sys type sysfs

Ceph:一種可擴充套件高效能的分散式檔案系統

摘要 我們開發了 Ceph,一種分散式檔案系統。該檔案系統提供極佳的效能,可靠性以及擴充套件性。通過專為不可靠的物件儲存裝置(Object Storage Device,OSDs)所組成的異構、動態叢集而設計的準隨機資料分配演算法(CRUSH),利用其替代檔案分配表,Cep

Hadoop 《一》HDFS 分散式檔案系統

Hadoop-HDFS 儲存模型:位元組 -檔案線性切割成塊(Block):偏移量 offset -block分散儲存在叢集結點中 -單一檔案block大小一致,檔案與檔案可以不一致 -block可以設定副本數,副本無序分散在不同結點中 >副本數不要超過結點數量 -檔案上傳可以

hadoop[4]-hdfs分散式檔案系統的基本工作機制

一、Namenode 和 Datanode HDFS採用master/slave架構。一個HDFS叢集是由一個Namenode和一定數目的Datanodes組成。Namenode是一箇中心伺服器,負責管理檔案系統的名字空間(namespace)以及客戶端對檔案的訪問。叢集中的Datanode一般是一個節點一

大資料-Hadoop-HDFS(分散式檔案系統)環境搭建

1:Hadoop三大核心元件 A:分散式檔案系統HDFS B:分散式資源排程器 C:分散式計算框架MapReduce 2:HDFS簡介: HDFS架構:HDFS採用Master/Slave架構 即:一個Master(NameNode)對應多個Slave(DataNode)