HDFS 【Hadoop Distributed File System】
概要
HDFS(Hadoop Distributed File System)とは、分散処理システムのApache Hadoopが利用する分散ファイルシステム。OSのファイルシステムを代替するものではなく、その上に独自のファイル管理システムを構築するもの。大容量データの単位時間あたりの読み書き速度(スループット)の向上に注力している。大規模な分散処理を行う場合、複数のコンピュータ(ノード)間のデータの移動が一つの大きな足かせとなるが、HDFSではデータの処理と保存を行うノードが分かれておらず、なるべくデータを保存しているノードでそのデータの処理を行うことができる。
管理するファイルの読み書きを高速化するため、大きなファイルを一定の大きさ(初期設定では64MBごと)のブロックに分割し、複数の記憶装置に分散して保存する。読み込みや書き込みを記憶装置の台数だけ並列に実行できるようにしている。その際、同じブロックを複数の装置(初期設定では3台)に同時に記録(レプリケーション)して耐障害性を高めているが、複製の数だけ余分に記憶領域が消費される。
どのファイルをどのように分割し、どの装置にどのように格納したかは「ネームノード」(name node)と呼ばれるサーバで一元管理され、他のサーバは分割されたファイルを保存する「データノード」(data node)として利用される。
(2020.4.7更新)