建築家必読シリーズ: 分散ファイルシステム HDFS の解釈

建築家必読シリーズ: 分散ファイルシステム HDFS の解釈

Hadoop エコシステムでは、Hadoop 分散ファイル システム (HDFS) が非常に重要なリンクです。ビッグデータ リソース プールを管理し、関連するビッグデータ分析アプリケーションをサポートするための信頼性の高いツールを提供します。分散ストレージの分野でも HDFS は重要な役割を果たしており、システム アーキテクトが理解しなければならない分散ファイル システムの 1 つです。

HDFSの仕組み

HDFS は、コンピューティング ノード間の高速データ転送をサポートします。初期の段階では、大規模なデータセットの並列計算用のプログラミング フレームワークである MapReduce と密接に連携していました。

HDFS はデータを受信すると、情報を個々のブロックに分割し、クラスター内の異なるノードに分散して、効率的な並列処理を可能にします。

さらに、HDFS は高度な耐障害性を備えるように特別に設計されています。 HDFS は、各データ セグメントを複数回複製し、そのレプリカを各ノードに配布して、少なくとも 1 つのレプリカを他のサーバー ラックに配置できます。したがって、クラッシュしたノードのデータはクラスター内の他の場所でも見つかる可能性があります。これにより、データの復元中でも処理を続行できるようになります。

HDFS はマスター/スレーブ アーキテクチャを使用します。元のバージョンでは、各 Hadoop クラスターは NameNode (ファイル システム操作を管理する) とサポートする DataNode (個々のコンピューティング ノード上のデータ ストレージを管理する) で構成されていました。これらの HDFS 要素を組み合わせることで、大規模なデータ セットを持つアプリケーションがサポートされます。

このマスター ノードの「データ ブロック」アーキテクチャは、Google ファイル システム (GFS) と IBM の General Parallel File System (GPFS) からいくつかの設計ガイドラインを採用しています。 GFS は、大量のデータにアクセスする大規模な分散アプリケーション向けのスケーラブルな分散ファイル システムです。安価な汎用ハードウェア上で動作し、フォールトトレランスを提供し、多数のユーザーに全体的に高いパフォーマンスのサービスを提供できます。 GPFS は、クラスター環境向けに特別に設計された、高性能でスケーラブルな並列ファイル システムです。クラスター内の複数のノード間で共有ファイル システム内のファイルへの高速アクセス操作を実装し、安定した障害回復およびフォールト トレランス メカニズムを提供できます。さらに、HDFS は Portable Operating System Interface (POSIX) モデルと互換性がありませんが、いくつかの側面では POSIX 設計スタイルを反映しています。

HDFSアーキテクチャ図 - アプリケーションはクライアントを介してNameNodeおよびDataNodeと対話します

HDFS を使用する理由

HDFS は当初、Yahoo の広告サービスと検索エンジンのニーズを満たすために開発されました。他の Web 指向の企業と同様に、Yahoo は自社のアプリケーションにアクセスするユーザー数の増加に対処しなければならず、それらのユーザーが生成するデータはますます増えていました。その後、Facebook、eBay、Twitter などの企業も、同じニーズに対応するためにビッグデータ分析の基盤として HDFS を使い始めました。

しかし、HDFS はそれ以上の用途に役立ちます。前述の大規模 Web 検索は、データ集約型並列コンピューティングに分類できます。さらに、HDFS は、気象計算などの計算集約型の並列計算アプリケーション シナリオでもよく使用されます。また、3D モデリングやレンダリングなど、データ集約型と計算集約型の混合シナリオでも広く使用されています。 HDFS は、多くのオープンソース データ ウェアハウス (データ レイクと呼ばれることもあります) の中核でもあります。

HDFS は、一般的な安価なマシンで実行できるという重要な機能を備えているため、大規模な導入によく使用されます。また、Web 検索や関連アプリケーションを実行するシステムでは、数百 PB や数千ノードに拡張できる必要がある場合が多いため、システムは簡単に拡張できる必要がありますが、HDFS はまさにその点を備えています。さらに、この規模ではサーバー障害が頻繁に発生するため、HDFS が提供するフォールト トレランスは、この点で非常に価値があります。

HDFSシナリオには適用されません

まず、HDFS は、リアルタイム クエリなど、レイテンシ要件が高いシナリオには適していません。レイテンシの点では、HDFS に大きな利点はありません。第二に、HDFS は多数の小さなファイルの保存をサポートするのも困難です。 Hadoop システムでは、「小さなファイル」は通常、HDFS のブロック サイズ (デフォルトでは 64 MB) よりもはるかに小さいファイルとして定義されます。各ファイルは独自の MetaData メタデータを生成するため、Hadoop はこの情報を Namenode を通じて保存します。小さなファイルが多すぎると、NameNode のメモリを大量に占有しやすくなり、シーク時間が読み取り時間を超え、システムにパフォーマンスのボトルネックが発生します。

さらに、HDFS はマルチユーザー書き込みをサポートしておらず、ランダムなファイル変更を実行することはできません。ファイルの末尾に追加する方法、つまり追加によってファイルを追加する方法のみがサポートされています。 HDFS は、半構造化データと非構造化データの保存に適しています。データが厳密な構造特性を持つ場合、強制的に HDFS を使用することは不適切です。 ***、HDFS は TB および PB レベルのビッグデータ処理に適しており、ファイル数は通常 100 万を超えます。データ量が少ない場合は、HDFS を使用する必要はありません。

HDFS と Hadoop の歴史

ここで、いくつかの重要な時点について簡単に説明します。 2006 年に Apache Hadoop プロジェクトが正式に開始され、HDFS と MapReduce は独立して開発され始めました。このソフトウェアは、さまざまな業界のビッグデータ分析プロジェクトで広く使用され始めています。 2012 年に、HDFS と Hadoop バージョン 1.0 がリリースされました。

2013 年、Hadoop 2.0 にユニバーサル YARN リソース マネージャーが追加され、MapReduce と HDFS が効果的に分離されました。それ以来、Hadoop はさまざまなデータ処理フレームワークとファイルシステムをサポートしてきました。 MapReduce は Apache Spark に置き換えられることが多いですが、HDFS は依然として Hadoop の一般的なファイル形式です。

4 回のアルファ リリースと 1 回のベータ リリースを経て、Apache Hadoop 3.0.0 は、追加の NameNode、消失訂正符号機能、およびより高度なデータ圧縮のサポートを含む HDFS の機能強化を備え、2017 年 12 月に一般公開されました。同時に、LinkedIn のオープンソース Dr. Elephant や Dynamometer パフォーマンス テスト ツールなどの HDFS ツールの進歩により、HDFS はさらなる開発実装をサポートできるようになりました。

<<:  Kafka はどのようにして 1 秒間に 1,500 万件のメッセージを処理するのでしょうか?

>>:  Windows 仮想マシンを一括でチェックおよび修復する方法

推薦する

元ウェブマスターがフォーラム署名の外部リンクがウェブサイトに与える影響について語る

すべてのウェブマスターは私と同じだと思います。日々のウェブサイトのメンテナンスと最適化作業に加えて、...

Baidu スナップショットが更新されない場合の解決策は何ですか?

みなさんこんにちは。今日は、Baidu スナップショットが更新されない問題の解決策についてお話ししま...

ウェブサイトの信頼性を高め、顧客のコンバージョン率を高める方法

信頼の構築は次のような側面に反映されます。 1. 会社概要ページ: 会社の背景、歴史、事業範囲などに...

ライブストリーミング販売の現状と将来を分析した記事

メタバースが流行した後、ライブストリーミング電子商取引の人気は徐々に衰えました。特に、タオバオのトッ...

Weiboマーケティングに関する7つの考察

ショートビデオ、セルフメディア、インフルエンサーのためのワンストップサービスWeiboマーケティング...

ターンキーインターネット - $3.89/年/KVM/1G メモリ/1Gbps 無制限トラフィック

Turnkeyinternet は、知らない人もいるかもしれませんが、ベテランなら知っているはずです...

クラウドコンピューティングを早めに活用しましょう!クラウドコンピューティングが企業にもたらすメリットを見てみましょう

[[221272]]クラウド コンピューティングの概念は古くから存在しており、すべての CIO と ...

コンテナオーケストレーションについて1つの記事で学ぶ

コンテナ オーケストレーションは、現代のソフトウェア開発の鍵の 1 つであり、企業が大規模なコンテナ...

古いウェブサイトの最適化方法についての簡単な説明

多くの人は、古いウェブサイトを引き継いだときに、それを最適化する方法を知りません。コンテンツから始め...

PR 値が更新されようとしています。しばらくお待ちください。

PR値はGoogleが公式に発表しているウェブサイト評価であり、BR(Baidu weight)より...

618、李嘉奇の「包囲と鎮圧」

5月31日午後8時、618イベントは最終支払いと現物商品の受け取りとともに正式にスタートしました。こ...

fadayun: 9.9元のフラッシュセール、湖北100G高防御/CC無視、2Gメモリ/2コア/50gハードディスク/8M帯域幅、香港/韓国/米国CN2クラウドは39元から

fadayunは現在、春のスタートに向けて特別プロモーションを開催しています。湖北クラウドサーバーは...

劉振宇氏との対話:MSN中国の興亡の真実

MSN が消滅するという噂もあるが、劉振宇氏はそれを笑い飛ばすだけだ。辛抱強く耳を傾けなければ、多く...

WeChatの新マーケティング: WeChatのいいね

WeChat、この言葉はほとんどの人にとって馴染みのない言葉ではありません。現在、WeChatのユー...

Huawei Cloud はどのようにして「専門的、特化的、革新的な」企業を支援するのでしょうか?イシンダが答える

技術革新の中心都市である広東省深センには、革新的な産業が集中しているエリアが数多くあります。これらの...