この記事のソースコード:GitHub・ここをクリック|| GitEE・ここをクリック
1.HDFSの基本的な概要
1.HDFSの説明
ビッグデータ分野が常に直面している2つのコアモジュール:データストレージとデータコンピューティング。最も重要なビッグデータストレージテクノロジーとして、HDFSは高度なフォールトトレランス、安定性、信頼性を備えています。HDFS(Hadoop-Distributed-File-System)は、ファイルを保存し、ディレクトリツリーを介してファイルを検索するために使用される分散ファイルシステムです。設計の本来の目的は、アプリケーションがを使用できるように、数百のサーバーとディスクを管理することです。通常のファイルシステムは、1回限りの書き込みと複数の読み取りのシナリオに適した大規模なファイルデータを格納し、データ分析に適したファイル変更をサポートしていません。
2.インフラストラクチャ
HDFSには、NameNodeとDataNodeの2つのコアコンポーネントを備えたマスター/スレーブアーキテクチャがあります。
NameNode
ファイルシステムのメタデータ(MetaData)管理、つまりファイルパス名、データブロックID、保存場所、その他の情報を担当し、クライアントの読み取りおよび書き込み要求を処理するようにコピー戦略を構成します。
DataNode
ファイルデータの実際のストレージおよび読み取り/書き込み操作を実行します。各DataNodeはファイルデータブロックの一部を格納し、ファイル全体が分散され、HDFSサーバークラスター全体に格納されます。
クライアント
クライアントでは、ファイルが分割されてHDFSにアップロードされると、クライアントはファイルをブロックに分割してアップロードします。NameNodeからファイルの位置情報を取得し、DataNodeと通信してデータを読み書きします。クライアントはアクセスまたはHDFSを管理します。
セカンダリ-NameNode
これはNameNodeのホットスタンバイではありませんが、FsimageとEditsを定期的にマージしてNameNodeにプッシュするなど、NameNodeのワークロードを共有します。緊急時には、NameNodeの復元を支援できます。
3.高いフォールトトレランス
データブロックの複数コピーストレージの図、ファイル/ users / sameerp / data / part-0、コピーバックアップは2に設定され、保存されたブロックIDは1、3、ファイル/ users / sameerp / data / part-1レプリケーションバックアップは3に設定され、保存されたブロックIDはそれぞれ2、4、5です。単一のサーバーがダウンした後、データブロックごとに少なくとも1つのバックアップサービスが存在します。これはファイルアクセスに影響を与えず、全体的に改善されます。フォールトトレランスセックス。
HDFS内のファイルは、物理的にブロック(Block)に格納されます。ブロックサイズは、パラメーターdfs.blocksizeで構成できます。ブロック設定が小さすぎると、アドレス指定時間が長くなります。ブロック設定が大きすぎると、アドレス指定時間が長くなります。ディスクからデータを転送するには時間がかかります。非常に遅くなり、HDFSブロックサイズの設定は主にディスク転送速度に依存します。
2つの基本的なシェルコマンド
1.基本的なコマンド
Hadoopで関連するシェル操作コマンドを表示します。
[root@hop01 hadoop2.7]# bin/hadoop fs
[root@hop01 hadoop2.7]# bin/hdfs dfs
dfsはfsの実装クラスです
2.コマンドの説明を表示します
[root@hop01 hadoop2.7]# hadoop fs -help ls
3.ディレクトリを再帰的に作成します
[root@hop01 hadoop2.7]# hadoop fs -mkdir -p /hopdir/myfile
4.カタログを表示する
[root@hop01 hadoop2.7]# hadoop fs -ls /
[root@hop01 hadoop2.7]# hadoop fs -ls /hopdir
5.ファイルをカットアンドペーストします
hadoop fs -moveFromLocal /opt/hopfile/java.txt /hopdir/myfile
## 查看文件
hadoop fs -ls /hopdir/myfile
6.ファイルの内容を表示する
## 查看全部
hadoop fs -cat /hopdir/myfile/java.txt
## 查看末尾
hadoop fs -tail /hopdir/myfile/java.txt
7.ファイルの内容を追加します
hadoop fs -appendToFile /opt/hopfile/c++.txt /hopdir/myfile/java.txt
8.ファイルをコピーする
copyFromLocalコマンドはputコマンドと同じです
hadoop fs -copyFromLocal /opt/hopfile/c++.txt /hopdir
9.HDFSファイルをローカルにコピーします
hadoop fs -copyToLocal /hopdir/myfile/java.txt /opt/hopfile/
10.HDFSでファイルをコピーします
hadoop fs -cp /hopdir/myfile/java.txt /hopdir
11.HDFSでファイルを移動します
hadoop fs -mv /hopdir/c++.txt /hopdir/myfile
12.複数のファイルをマージしてダウンロードします
基本的なコマンドgetコマンドとcopyToLocalコマンドは同じ効果があります。
hadoop fs -getmerge /hopdir/myfile/* /opt/merge.txt
13、ファイルを削除します
hadoop fs -rm /hopdir/myfile/java.txt
14.フォルダ情報を表示する
hadoop fs -du -s -h /hopdir/myfile
15、フォルダを削除します
bin/hdfs dfs -rm -r /hopdir/file0703
3.ソースコードアドレス
GitHub·地址
https://github.com/cicadasmile/big-data-parent
GitEE·地址
https://gitee.com/cicadasmile/big-data-parent
推奨読書:プログラミングシステムの仕上げ
シリアルナンバー | プロジェクト名 | GitHubアドレス | GitEEアドレス | 推奨 |
---|---|---|---|---|
01 | Javaは、デザインパターン、アルゴリズム、およびデータ構造を記述します | GitHub・ここをクリック | GitEE・ここをクリック | ☆☆☆☆☆ |
02 | Javaの基礎、並行性、オブジェクト指向、Web開発 | GitHub・ここをクリック | GitEE・ここをクリック | ☆☆☆☆ |
03 | SpringCloudマイクロサービスの基本コンポーネントケースの詳細な説明 | GitHub・ここをクリック | GitEE・ここをクリック | ☆☆☆ |
04 | SpringCloudマイクロサービスアーキテクチャの実際の戦闘の包括的なケース | GitHub・ここをクリック | GitEE・ここをクリック | ☆☆☆☆☆ |
05 | SpringBootフレームワークの基本的なアプリケーションから高度なものまで | GitHub・ここをクリック | GitEE・ここをクリック | ☆☆☆☆ |
06 | SpringBootフレームワークは、一般的なミドルウェアを統合および開発します | GitHub・ここをクリック | GitEE・ここをクリック | ☆☆☆☆☆ |
07 | データ管理、配布、アーキテクチャ設計の基本的なケース | GitHub・ここをクリック | GitEE・ここをクリック | ☆☆☆☆☆ |
08 | ビッグデータシリーズ、ストレージ、コンポーネント、コンピューティング、その他のフレームワーク | GitHub・ここをクリック | GitEE・ここをクリック | ☆☆☆☆☆ |