ビッグデータ - 基本

1.ビッグデータとは何ですか?

記載「5V」特性データ:

、ボリューム:収集、保管および計算を含む大量のデータは、非常に大きいです。測定の単位を開始することは、少なくとも大きなデータP(T番目1000)、E(T番目億)またはZ(T番目の100億)です。

二、バラエティ:種と起源の多様性。など、構造化、半構造化および非構造化データ、特定のパフォーマンスのネットワークログ、オーディオ、ビデオ、写真、位置情報を含む、データのデータ処理能力の多くの種類が前方に高い要求を入れました。

三つは、値:データ密度の値が比較的低い、またはセントーサの波が、貴重なこと。インターネットの普及や物事のインターネット、どこでも情報知覚、情報の洪水が、低密度の値、およびどのようにマシンの値に強力なデータ・マイニング・アルゴリズムでビジネスロジックを組み合わせることで、ビッグデータの時代は、ほとんどの問題を解決するために必要とされています。

四、ベロシティ:成長してより高速なデータ処理速度が速い、タイムクリティカルな要件です。例えば、検索エンジンは、ユーザーのクエリに数分前にニュースを必要とするアルゴリズムが勧告を完了するために、可能な限りリアルタイムを必要と勧告をパーソナライズすることができます。これは、伝統的なビッグデータマイニングの重要な機能は異なっています。

五、信憑性:データの正確性、信頼性、それがデータ品質です。

 

2、Hadoopクラスタのインストールプロセス?

  1. 基本クラスタ環境の準備、を含みます:

システム構成:デフォルトの開始レベル、sudoerの権限を作成および設定するには、平均的なユーザーは、ファイアウォールとSELinuxを無効にします

ネットワーク構成:ゲートウェイ、IP、ホスト名、ホストマッピング

時間の設定:統一されたタイムゾーン、時刻同期

セキュリティの構成:無料密ログイン

  1. ソフトウェアのインストール:

インストールパッケージを入手します。インストールパッケージをアップロードして、該当するディレクトリを抽出

JAVA_HOMEとHADOOP_HOME:環境変数を設定します

Hadoopの6つのプロファイルの変更:

hadoop-env.sh、コアsite.xmlの、HDFS-site.xmlの、mapred-site.xmlの、糸site.xmlの、スレーブ

図3に示すように、各ノードに分散インストールパッケージをインストールするクラスタのHadoop Hadoopのインストールパッケージの各ノード

マスターノードHDFS上で初期化4、実行して名前ノード

図5に示すように、スタートHDFS HDFS上のマスターノード

図6に示すように、スタート糸糸マスタノードは、マスタノード糸を開始する必要

7、テストクラスタは正常にインストールされて

 

3、HDFS?編集と?Fsimageの役割?

1)fsimageファイルには、すべてのディレクトリとファイルのHadoopのファイルシステムをidnodeの配列情報が含まれている永久的なチェックポイントのHadoopのファイルシステムのメタデータは、実際にあります。

2)ファイルがパスにすべての更新Hadoopのファイルシステムに格納されている編集するので、すべての最初の動作は、クライアントによって実行されるファイルシステムの編集のファイルに記録され書き込みます。

fsimageと編集文書はメモリにロードされ、それがコンテンツファイルをfsimageます開始時間を名前ノードに連載し、次の操作は、ファイル、このようなメタデータと実メモリを編集し実行しています同期、メタデータは、クライアントをサポートするためにメモリの読み出し動作中に存在します。

アップ名前ノードの後、更新操作でHDFSは再び書き込まれます編集が(GBレベルは非常に一般的です)fsimage一般的に大容量のファイルため、ファイル更新操作のすべてがファイルをfsimageするために追加された場合、これは、システムが実行するようになります非常に遅いです、

あなたは、書き込み動作の各実行後、クライアントに成功コードを送信する前に、そうではないでしょうファイルの編集に書き込む場合でも、ファイルが更新され、編集内容を同期させる必要があります。

書き込み動作が複数のマシンを動作させるために必要とされるように、ファイルは、大きい場合、すべての書き込み操作を後にのみ実行されている操作の利点は、マシン内の任意の故障ではありませんように、書き込み動作は、成功を返し、同期メタデータの原因

 

4、時に小さなファイルの過剰な数が、どのように小さなファイルをマージするには?

各小さなデータファイルよりも小さい組み合わせると、それはこのようなコマンドを介して、小さなファイルを指定できます。

HadoopのFS -cat HDFS://cdh5/tmp/lxw1234/*.txt | HadoopのFS -appendToFile - HDFS://cdh5/tmp/hdfs_largefile.txt

小さなファイルでMRの使用を提案したときに大量のデータをマージするとき

 

5、どのようにブロックファイルのHadoopが表示され行方不明に対処するには?

削除されていない場合は、データ損失のブロックをチェックして、ファイルを直接削除することが非常に重要でない場合は、不足しているブロックの位置を見つけるために、ログファイルを見て、除外することができる場所を探し、最初に必要後に再コピーは、クラスタにコピーします各クラスタは、バックアップを持ってバックアップを復元します

 

6、Hadoopのデーモンスレッド?名前ノードの責任?

ファイブデーモン:

SecondaryNameNode

このResourceManager

ノードマネージャ

名前ノード

データノード

名前ノード:マスターノード、メタデータ記憶ファイル(ファイル名、ファイルディレクトリ構造、ファイルの属性 - 生成時間、コピー数、ファイルのパーミッション)DataNodesブロックリストなどのブロック、及び各ファイルが配置されています。(DataNodes上のすべてのデータブロックのリスト)を定期的にハートビートとブロックステータスレポートの情報を受信します

情報がハートビートを受信した場合、NNは10分後にDNもハートビート未満を受け取った場合、ダウンタイムはDN NNが考えるされているDNの仕事を信じています

NN準備DN上のこの時間データブロックを再複製する必要があります。

ブロックステータスレポートは、DN上のすべてのデータブロックのリストが含まれ、ブロックは、1時間ごとに一度送信と報告します

 

7、あなたは仕事のHDFSコマンドで書き込むために使用しました

以下のような:猫\回数\ \ LSは\ GET、PUT \ RMR(RM -r)\ MV(CP)などが........

8、コマンドを実行すると、すべてのデータノードの健康状態を表示します

Hadoopの?dfsadmin -report

 

9、どのように安全なモードを終了します

Hadoopの?dfsadmin?-safemode?去ります

 

すぐに仕事を殺すためにどのように10、

図1に示すように、ジョブIDを取得-listのHadoopジョブを実行します

2、Hadoopのジョブ-killジョブID

また、コマンドの糸を使用することができます糸アプリケーション-kill APPID

 

11、HDFSはデータフローを書くのか?

1、HDFSは、リモート名前ノードにRPC要求を開始するために提供されるクライアントクライアントを使用して

2、既に作成されるファイルが存在するかどうかを名前ノードのチェックは、作成者が成功し、それがそうでなければ、クライアントは例外がスローされます、ファイルのレコードを作成します動作する権限を持っています。

クライアントは、ファイルの書き込みを開始するとき、図3に示すように、クライアントが複数のパケットにファイルを移動し、「データ・キュー(データキュー)」の形式でデータキューは、内部的にこれらのパケットを管理し、ブロック名前ノードのアプリケーション、取得設定に従っの名前ノードのレプリケーションでデータノードのレプリカ、リストのサイズを格納するのに適しリスト。

図4に示すように、開始パイプライン(パイプライン)の形でパケットのすべてのレプリカに書き込まれます。開発ライブラリは、そのような書き込みデータパイプライン方式として、最後のデータノードまで、このデータノードの次のパイプラインに渡された、最初のパケットは、パケットはデータノードに格納された後、ストリームに書き込まれているデータノードフォーム。

最後のデータノード成功した店は、クライアントの社内の開発ライブラリで、パイプライン内のクライアントに配信ACKパケット(確認キュー)、戻った後5後、首尾からになります返さACKパケットデータノードを受け、「ACKキュー」を維持「ACKキュー」は、対応するパケットを削除します。

図6に示すように、送信処理と、データノード障害が現在のパイプラインそこから除去される、データノードは、次に、現在のパイプラインがシャットダウンされ、失敗があり、ブロックの残りの部分は、データノードを継続するためにパイプラインの残りを継続します同時に伝送の形式は、レプリカのセット数を保持し、新しい名前ノードデータノードが割り当てられます。

クライアントは、データの書き込みが終了した後、7、データストリームは、データストリームを閉じるには、close()メソッドを呼び出します。

 

12、ファイル、メモリフィットがたくさんある、どのように重量のために?

ファイルの各行のハッシュ値を計算し、小さいファイルに行の内容に応じたハッシュ値、100個のより小さなファイルに分割する必要があるとし、それはファイルのコンテンツを配布するために(100%ハッシュ)に応じて可能であり、次いで、小さなファイルでそれに体重を達成します。

 

13、データ圧縮アルゴリズムをHDFS?

(1)Gzip圧縮

長所:比較的高い圧縮率、および圧縮/解凍速度が速くなり、Hadoopのサポート自体は、アプリケーションプロセスgzipファイル形式で直接同じでテキストを操作する、ほとんどのLinuxシステムは使いやすいのgzipコマンドが付属しています。

短所:分割をサポートしていません。

シナリオ:130M内の圧縮された各ファイル(ブロックのサイズ)は、gzipで圧縮された形式と考えることができます。例えば、プログラムが複数の同時のgzipファイルが到達するMapReduceを実行しているとき、1日または1時間にgzipがログファイルに圧縮言いました。ハイブプログラム、プログラムをストリーミングし、元のプログラムを変更する必要はありませんした後にプログラムが完全に圧縮のようなJavaのMapReduceのとテキスト処理に書かれています。

(2)bzip2圧縮

長所:サポート分割、高圧縮率な、gzip圧縮率よりも高いが、自分自身をHadoopをサポートしていますが、ネイティブサポートしていません。使いやすい、Linuxシステムでのbzip2コマンドが付属しています。

短所:圧縮/解凍が遅いですが、ネイティブサポートしていません。

シナリオ:それはあまり要求に適しているが、出力フォーマットのMapReduceジョブとして必要な高い圧縮率は、ときに、データ出力が比較的大きいまたは後に、データがディスクスペースを減らすために治療後に圧縮後のデータをアーカイブする必要がありますケース未満、またはあなたが必要が分割をサポートするために、一方で圧縮は、ストレージ容量を削減したい単一の大きなテキストファイル、および状況は互換性の前にアプリケーション(つまり、アプリケーションが変更を必要としない)です。

(3)LZO圧縮

利点:圧縮/解凍速度が速く、合理的な圧縮率であり、スプリットサポート、最も人気のあるHadoopの圧縮フォーマットであり、コマンドが使いやすいlzopののLinuxシステムを搭載してもよいです。

短所:gzip圧縮率が数よりも低くなっている。サポートしていない自分自身をHadoopを、あなたはインストールする必要があり、アプリケーションのファイル形式でLZOは、いくつかの特別な処理を行う必要があります(分割をサポートするために、あなたはまた、LZO形式のInputFormat指定する必要があり、インデックスを構築する必要があります)。

シナリオ:大規模なテキストファイル、圧縮200M後も、上記と考えることができるよりも大きく、LZOの大きい単一のファイル、より多くの明白な利点。

(4)スナッピー圧縮

長所:高速圧縮速度と音の圧縮比。

短所:分割をサポートしていません。圧縮率はgzipでより低い、Hadoopの自身がサポートされていない、あなたはインストールする必要があります。

シナリオ:地図データの出力のMapReduceジョブ大きく、地図中間データとして圧縮フォーマットを削減するために、MapReduceの出力または追加の入力ジョブとジョブのMapReduceとして。

 

14は、データノードは、どのような状況の下でバックアップされていませんか?

バックアップ番号1は、バックアップ行くことはありません場合

 

3つのデータノードのデータノード・エラーが起こるがある15、?

エラーがデータノードを下に確認するために、通信できないと名前ノード、長い名前ノードの確認名前ノードを撃墜するつもりはない、この時間はタイムアウトを呼び出したときに、HDFSのデフォルトの時間は10分30秒で発生した後、コピーの数はなりますHDFSマイナス1は、その後、コピーデータノードは、他のマシンにデータをダウン名前ノードます

 

16、ローカルキャッシュメカニズムを使用した、Hadoopの中で説明し、どのような役割彼らは?

キャッシュノードクラスパスのjarパッケージには、タスクを実行するには

クラスパスファイルキャッシュノードを実行するための一般的なタスク

リングバッファゾーンは、mapフェーズは、ローカルオーバーフローにファイルを記述した後、効率を向上させることができ、それらの間のリングバッファゾーンが存在します

 

それは、書き込み72M、複製?それとも全て完成してからコピーされた後17、?HDFSに書かれた200Mファイルは?128M書くことですがありますか?

データを書き込む際、データが最初にカットしますHDFS上で、その後、データノードエンドはそう、少なくともファイルをHDFSに書き込まれた後、ファイルが正常に書き込まれていることを示し、顧客からのパイプラインを形成した後、バックアップ操作をコピーしますすべてが終了してからコピーされます

 

18、HadoopのRPCプロトコルに記載され、そして何の基礎となるフレームのカプセル化?

ユーザ応答又はパラメータの要求は、機械を横切る送信のためのバイトストリームに変換します。

関数呼び出しは、主層の機能である:レイヤ機能は、コール測位機能が呼び出されると、関数が実行され、そしてHadoopを用いた反射達成Java動的プロキシ関数呼び出し。

ネットワークトランスポート層:ネットワーク層は、Hadoopのは、TCP / IPに基づくソケット・メカニズムを使用して、クライアントとサーバー間のメッセージ転送の送信について説明します。

サーバーの処理フレームワーク:処理フレームワークは、ネットワークI / O処理モデルとして抽象化することができ、サーバ、彼女は彼女のデザインは、直接、サーバの同時処理能力を決定し、道クライアントとサーバー側の情報交換を説明します。共通のネットワークI / Oモデルは、ブロックI / O、非ブロッキングI / O、イベント駆動型I / O等を有しており、Hadoopのベースのイベント駆動型原子炉の設計パターンI / Oモデルを使用します

 

19、hadoop1.x 2.xとアーキテクチャの違いは?

(1)Hadoopの1.0

Hadoopの1.0のHadoop、HDFSと複数の名前ノードデータノードは、バージョンのHadoopはApacheのHadoopに対応し、JobTrackerとのMapReduce TaskTracker組成物の複数の構成HDFSとMapReduceの分散コンピューティングフレームワークによって、すなわち第一世代、分散ストレージシステム0.20.x、1.xでは、0.21.X、0.22.xおよびCDH3。

(2)Hadoopの2.0

すなわち、第二世代のHadoop 2.0のHadoopは、HDFS提案のMapReduceのHadoop 1.0に存在する問題を克服します。提案HDFS連邦HDFSのHadoop 1.0の問題名前ノード制約のリストの拡張のために、それは別のディレクトリを作成し、次にアクセス名前ノードの単離およびスケールのための多くを充電し、それが完全に故障の名前ノード単一点を解決し、Hadoopの1.0 MapReduceのスケーラビリティとマルチフレーム・サポート、およびリソース管理、ジョブ制御機能の点で不十分では、別々の成分のみApplicationMasterすべてのアプリケーションのリソース割り当てのために、このResourceManagerが責任のResourceManagerとApplicationMaster、によって実現されるが、JobTrackerうアプリケーションの管理を担当し、新しいユニバーサルリソース管理フレームワーク糸のその後誕生。ベースYARN、ユーザーが嵐らのオンライン計算のMapReduce(ストリーミング)にオフラインから算出(もはやアプリケーションのMapReduceのクラスに限定例えば1.0のような)各種アプリケーションを実行することができます。バージョン2.0は、HadoopのHadoopのApacheのHadoopのの0.23.x、2.xの、およびCDH4に対応します。

(3)のMapReduce 1.0或MRv1

MapReduceの1.0コンピューティングフレームワークは、3つの部分、すなわち、プログラミングモデルおよびランタイムデータ処理エンジン環境から成ります。その基本的な問題は、プログラミング・モデルの抽象化マップであり、入力段の地図データが処理後のキー/値、反復呼び出しマップ()関数に解析し、その後のキー/値の形式でローカルディレクトリに出力する請求項2つの相に減らしそのデータ処理エンジンとMapTask ReduceTask、すなわち地図を扱うロジックの段階は、ロジックを削減し、相;それはランタイム環境だと、ステージが同じ値の鍵プロトコル処理となり、最終的な結果は、HDFS上で書かれているの削減リソース管理およびすべての動作の制御のために、そのJobTracker責任サービスの(a)はJobTrackerと(いくつかの)TaskTracker二種類によって、およびTaskTracker JobTrackerからコマンドを受信し、それを実行する責任があります。フレームワークはまたMRv2の発生に寄与し、スケーラビリティ、フォールトトレランスおよびマルチフレーム支持が不十分存在です。

(4)MRv2

MRv2 MRv1は同じプログラミングモデルとデータ処理エンジンを有する、唯一の違いは、ランタイム環境です。MRv2は、リソース管理フレームワークのフレームのMapReduce糸の上部で計算実行に基づいてMRv1後に処理されます。そのランタイム環境は、もはやJobTracker TaskTrackerと、このような組成物などのサービスではありませんが、ユニバーサルリソース管理やジョブ制御システムYARNプロセスApplicationMasterに、これは、リソース管理とスケジューリングの責任YARN、および管理ジョブのApplicationMasterのみ責任を負います。簡潔に述べると、MRv1のみ別オフラインコンピューティングフレームワークは、MRv2糸は、MapReduceの上で実行されています。

(5)糸

糸は、共通のリソース管理モジュールでのHadoop 2.0リソース管理システム、リソース管理及びスケジューリングはアプリケーションのすべてのタイプのために実行することができるです。糸のMapReduceは、フレームワークの使用に限定されない他のフレーム、例えばTEZ(第9章で説明される)、スパーク、ストーム(第10章に記載される)などにも使用することができます。数年前にMesos(第12章で導入)と(6章で導入)以前のトルクに似YARN資源管理システム。なぜなら汎用性糸の、次世代のMapReduceコアは、共通のリソース管理システム糸に単一のアプリケーションをサポートするMapReduceの単純なコンピューティングフレームワークからずれています。

(6)HDFS連盟

横名前ノードの複数拡張するように、HDFSにHadoopの2.0で、それにより機構に導入HDFS Federationは、また、分離HDFSを含む、HDFSのスケーラビリティを向上させるだけでなく、生成、ディレクトリの名前ノード電荷の各部を改善。

 

20、HDFSのゴミ(抗誤って削除)

デフォルトでは、手動でオープン、コア-site.xmlの構成を変更する必要がオフになっています

追加:

<プロパティ>

??? <名前> fs.trash.interval </名前>

???? <値> 1440 </ value>の

<! - 数分でごみ箱の滞留時間 - >

</プロパティ>

<プロパティ>

???????????? <名前> fs.trash.checkpoint.interval </名前>

???????? <値> 1440 </ value>の

<! - 上記の値以下のビンのチェック間隔 - >

</プロパティ>

ごみ箱を開くと、HDFSは、ユーザがファイルを削除するとき、ファイルが完全に消失していない、ユーザーごとにごみ箱を構築しています、

しかし、このフォルダ/.Trash/ MV /ユーザー/ユーザー名に、時間をかけて、ユーザーが削除されたファイルを復元することができます。

ユーザーが積極的に削除されていない場合、システムが出て、ユーザが設定した時間に応じてファイルを削除しますが、ユーザーは手動で、ごみ箱を空にすることができます

このような削除されたファイルは、もはや戻されません

のにJavaAPI:???ゴミ箱のゴミ=新しいごみ箱(FS、CONF)。

?????????? trash.moveToTrash(新しいパス( "/ XXXX"));

シェル:あなたがファイルを削除ではなく、ごみ箱にそれを置きたい場合は、コマンドを使用する必要がある-skipTrash

たとえば、次のようにHadoopのFS -rm -r -skipTrash /テスト

 

ビューごみ箱:HadoopのFS -ls /user/hadoop/.Trash/Current

おすすめ

転載: www.cnblogs.com/hanhaotian/p/11611190.html