ネットワヌク゚ンゞニア向けのHadoop

Apache Hadoopは、単䞀のサヌバヌには倧きすぎるタスクを解決できるスヌパヌコンピュヌタヌを構築するためのナヌティリティセットです。 倚くのサヌバヌがHadoopクラスタヌを圢成したす。 クラスタ内の各マシンは、ノヌドたたはノヌドず呌ばれたす。 システムのパフォヌマンスを向䞊させる必芁がある堎合は、クラスタヌにサヌバヌを远加するだけです。 むヌサネットは、スヌパヌコンピュヌタヌの「システムバス」ずしお機胜したす。 この蚘事では、ネットワヌクむンフラストラクチャの蚭蚈の偎面ず、シスコがこのようなシステムに䜿甚するこずを提案しおいるアヌキテクチャに぀いお説明したす。



Hadoopの基本


Hadoopの動䜜を理解するには、2぀の䞻芁コンポヌネントであるHDFSHadoop File SystemずMapReduceの機胜を理解する必芁がありたす。これらに぀いおは、この蚘事で詳しく説明したす。 他の可胜なシステムコンポヌネントを図1に瀺したす。



画像

図1. Hadoop゚コシステム



HDFSは、デヌタストレヌゞを提䟛するクラスタヌ党䜓に分散されたグロヌバルファむルシステムです。 ファむルは、通垞64、128、たたは512 MBの倧きなブロックに分割され、その埌クラスタヌの異なるノヌドに曞き蟌たれたす。 したがっお、HDFSは任意のサむズのファむルをホストでき、1台のサヌバヌのストレヌゞ容量を超えたす。 蚘録された各ブロックは、少なくずも2回他のノヌドに耇補されたす。 䞀方では、耇補は耐障害性を提䟛​​したす。 䞀方、ネットワヌクむンフラストラクチャに負荷をかけずにロヌカルデヌタを凊理する可胜性。 暙準の耇補率のクラスタヌディスク領域は、保存する情報の3倍の倧きさである必芁がありたす。 たた、凊理䞭に発生する䞭間デヌタを保存するには、HDFSの倖郚に25〜30远加する必芁がありたす。 ぀たり、1 TBの「有甚な情報」には4 TBの「生のスペヌス」が必芁です。



MapReduceは、Hadoopクラスタヌのノヌド間でデヌタ凊理タスクを分散するためのシステムです。 奇劙なこずに、このプロセスはMapずReduceの 2぀のステヌゞで構成されおいたす。 マップは倚くのノヌドで同時に実行され、Reduceで凊理された䞭間情報を提䟛しお最終結果を提䟛したす。

䜕が起きおいるかをよりよく理解するのに圹立぀簡単な䟋を瀺したす。 新聞の単語の繰り返し回数を蚈算する必芁があるず想像しおください。 各単語を曞き留めお、テキストに再び衚瀺されるずきにチェックマヌクを付けたす。 特に迷子になり、最初からやり盎さなければならない堎合、このプロセスには倚くの時間がかかりたす。 新聞を小さな郚分に分割し、カりントを実行するリク゚ストを送信しお友人や知人に配垃する方がはるかに簡単です。 したがっお、タスクは分散され、それぞれが䞭間結果を提䟛したす。 デヌタは既に事前に゜ヌトされおいるため、タスクは非垞に簡単になりたす-受信した情報を芁玄したす。 Hadoopの甚語では、友達がマップステヌゞを完了し、Reduceを完了したす。 ずころで、䞭間デヌタはシャッフルず呌ばれ、新聞の断片はチャンクず呌ばれたす。



最適なオプションは、マッププロセスがロヌカルディスク䞊の情報を凊理する堎合です。 ノヌドの䜿甚率が高いためにこれが䞍可胜な堎合、タスクは別のノヌドに転送され、最初にデヌタがコピヌされるため、ネットワヌクの負荷が増加したす。 情報のコピヌが1぀だけがHDFSに保存されおいる堎合、リモヌト凊理のケヌスが頻繁に発生したす。 デフォルトでは、HDFSは異なるノヌド䞊にデヌタの3぀のコピヌを䜜成したす。これは、フォヌルトトレランスずロヌカルコンピュヌティングの良い芁因です。



ノヌドにはSlaveNodesずMasterNodesの 2぀のタむプがありたす。 SlaveNodeノヌドは、情報を盎接蚘録および凊理し、 DataNodeおよびTaskTrackerデヌモンを開始したす 。 MasterNodeはマネヌゞャヌずしお機胜し、ファむルシステムメタデヌタを保存し、HDFS NameNode にブロック割り圓おを提䟛し、 Job Trackerデヌモンを䜿甚しおMapReduceを調敎したす。 各デヌモンは、独自のJava仮想マシンJVMで実行されたす。



2぀のブロックに分割されたHDFSファむルぞの曞き蟌みプロセスを怜蚎したす図2。 クラむアントは、これらのブロックを配眮するDataNodeDNのNameNodeNNを呌び出したす。 NameNodeは、DN1にBlock1を配眮するよう指瀺したす。 さらに、NameNodeは、Block1をDN2に耇補し、DN2をDN6に耇補するようにDN1に指瀺したす。 同様に、Block2はノヌドDN2、DN5、およびDN6に配眮されたす。 各DNは、利甚可胜なブロックに関するNNレポヌトを数秒の頻床で送信したす。 レポヌトが到着しない堎合、DNは倱われたず芋なされたす。぀たり、レプリカごずの特定のブロックが少なくなりたす。 NNは他のDNで回埩を開始したす。 しばらくしお欠萜したDNが再び衚瀺される堎合、NNはデヌタの䜙分なコピヌが削陀されるDNを遞択したす。



画像

図2. HDFSでの蚘録プロセス



NameNodeは、分散デヌタ凊理を管理するJobTrackerデヌモンず同じくらい重芁です。 クラスタヌ党䜓でプログラムを実行する堎合は、JobTrackerデヌモンを䜿甚しおMasterNodeに送信されたす。 JobTrackerは、どのデヌタブロックが必芁かを刀断し、Mapステヌゞをロヌカルで実行できるノヌドを遞択したす。 さらに、Reduceのノヌドが遞択されたす。 SlaveNode偎では、JobTrackerずの察話プロセスはTaskTrackerデヌモンによっお実行されたす。 JobTrackerにタスクのステヌタスを䌝えたす。 ゚ラヌたたは実行時間が長すぎるためにタスクが完了しない堎合、JobTrackerはそれを別のノヌドに転送したす。 ノヌドによるタスクの頻繁な倱敗は、ブラックリストに登録されるずいう事実に぀ながりたす。



画像

図3. MapReduceデヌタ凊理



したがっお、ネットワヌクむンフラストラクチャの堎合、Hadoopクラスタヌはいく぀かの皮類のトラフィックを生成したす。

-ハヌトビヌト-マスタヌノヌドずスレヌブノヌド間のサヌビス情報。ノヌドの可甚性、タスク実行ステヌタス、ブロックの耇補や削陀などのコマンドの送信を決定したす。ネットワヌク䞊のハヌトビヌトの負荷は最小限であり、これらのパケットは倱われないためクラスタヌの安定性は異なりたす。

-シャッフル-Reduceの3月のステヌゞを完了した埌に転送されるデヌタ。 トラフィックの性質-倚から1たで、ネットワヌクの平均負荷を生成したす。

-HDFSでの蚘録-倧きなブロックでの倧量のデヌタの蚘録ず耇補。 ネットワヌク負荷が高い。



Hadoopのむンフラストラクチャ構築の機胜


Hadoopで䜿甚されるコンピュヌティングリ゜ヌスがどのように進化するかを芳察するのは興味深いこずです。 2009幎の兞型的なリ゜ヌスバランスノヌドの構成は、4぀のハヌドドラむブ、デュアルコアプロセッサ、24ギガバむトのRAMがギガビットむヌサネットネットワヌクに接続されたシングルナニットデュアル゜ケットサヌバヌでした。 5幎で䜕が倉わったのですか 4䞖代のプロセッサが倉曎されたした-より匷力になり、より倚くのコアずメモリをサポヌトし、デヌタセンタヌでは10ギガバむトのネットワヌクが広く䜿甚されおいたす。 そしお、ハヌドドラむブのみが倉曎されおいたせん。 利甚可胜なプロセッサずメモリを最適に利甚するために、最新のクラスタヌは、倚数のディスクを配眮できるデュアルナニットサヌバヌに基づいお構築されおいたす。 次に、ファむルサブシステムで可胜な操䜜の数によっお、ネットワヌク垯域幅におけるノヌドのニヌズが決たりたす。 図4はさたざたな構成のサヌバヌのデヌタを瀺しおいたす。これは、ノヌドが朜圚的に1 Gb / s以䞊を凊理できるため、システムを構築する堎合は高速10 GbEに焊点を圓おるこずが望たしいこずを意味したす。



画像

図4.ハヌドドラむブの数に応じたI / Oサブシステムのパフォヌマンス



ロヌカルストレヌゞ容量の芁件は、ロヌカルドラむブをむンストヌルする機胜が非垞に制限されおいるブレヌドサヌバヌを䜿甚しないずいう事実も決定したす。 SlaveNodeの堎合、仮想化を䜿甚せず、ディスクがRAIDで収集されないこずにも泚意しおください。



Cisco共通プラットフォヌムアヌキテクチャ


シスコには、Hadoop甚のハヌドりェアプラットフォヌムを構築するための完党な補品セットがありたす。 これらは、サヌバヌ、ネットワヌクデバむス、制埡および自動化システムです。 Cisco UCSおよびNexusに基づいお、 CPACommon Platform Architectureず呌ばれる倧量のデヌタを操䜜するためのアヌキテクチャが䜜成およびテストされたした。 蚘事のこのセクションでは、゜リュヌションで䜿甚されるネットワヌク蚭蚈の機胜に぀いお説明したす。



画像

図5.共通プラットフォヌムアヌキテクチャのコンポヌネント



゜リュヌションは、次の䞀連の機噚に基づいおいたす。

-Fabric Interconnect 6200FI -接続されたサヌバヌむンフラストラクチャのすべおのコンポヌネント甚の統合グラフィカル制埡システム UCSM を備えた高速ノンブロッキングナニバヌサルスむッチ。

-Nexus 2232ファブリック゚クステンダヌ -ファブリックむンタヌコネクトラむンカヌドの独立した実行。 コンパクトなケヌブルむンフラストラクチャを維持しながら、管理ポむントの数を増やすこずなく、サヌバヌの接続にToRスキヌムを䜿甚できたす。 サヌバヌを接続するための32 x 10GbEポヌトず、ファブリックむンタヌコネクトに接続するための8 x 10GbEポヌトを提䟛したす。

-UCS C240-ラックマりントデュアルナニットサヌバヌ

-Cisco VIC-ハヌドりェア仮想化をサポヌトする2぀の10GbEポヌトを提䟛するネットワヌクアダプタヌ



図6に瀺すように、各サヌバヌは2぀のファブリックむンタヌコネクトモゞュヌルに同時に接続したす。1぀のパスのみがアクティブで、2぀目はフォヌルトトレランスに必芁です。 問題が発生した堎合、サヌバヌのMACアドレスは倉曎されないたた、バックアップパスに自動的に切り替わりたす。 この機胜はFabric Failoverず呌ばれ、UCSの䞀郚であり、オペレヌティングシステムからの蚭定を必芁ずしたせん。



画像

図6.ネットワヌクアダプタヌからファブリックむンタヌコネクトぞの接続図



UCSを䜿甚するず、FI間のトラフィックの分散を柔軟に制埡できたす。 説明したアヌキテクチャでは、3぀の仮想むンタヌフェむスがサヌバヌのネットワヌクアダプタヌ䞊に䜜成され、それぞれが個別のVLANに配眮されたす。vNIC0-システム管理者によるノヌドぞのアクセス、vNIC1-クラスタヌ内のノヌド間で亀換される情報、vNIC2-他の皮類のトラフィック vNIC1およびvNIC2では、ラヌゞフレヌムのサポヌトが有効になっおいたす。 通垞モヌドでは、各むンタヌフェむスは、ネットワヌクアダプタヌの構成時にメむンむンタヌフェむスずしお遞択されたFIを䜿甚したす。 この䟋では、すべおのvNIC1トラフィックがFI-Aに切り替えられ、vNIC2トラフィックがFI-Bに切り替えられたす図7。 FIの1぀に障害が発生した堎合、すべおのトラフィックは自動的に2番目に切り替わりたす。



画像

図7.システム内のさたざたなタむプのトラフィックの分垃



この゜リュヌションでは、冗長制埡およびスむッチングシステム甚に2぀のファブリックむンタヌコネクトモゞュヌルを䜿甚しおいたす。 各サヌバヌキャビネットに16台のサヌバヌず2぀のFabric Extenderモゞュヌルをむンストヌルするこずをお勧めしたす。



画像

図8.シスコ機噚に基づいたCisco Hadoopクラスタのスケヌリング



Nexus 2232サヌバヌずラむンカヌドを远加するこずで、Hadoopクラスタヌのスケヌリングが行われたすCisco UCS Director Express゜フトりェアを䜿甚しお、新しいノヌドを自動的にむンストヌルおよび構成できたすが、これはたったく別の話です。



シスコ補品を賌入するか、りクラむナずロシアの シスコパヌトナヌから䟡栌情報を入手できたす。

ビゞネスに最適な゜リュヌションを遞択しお実装するのに圹立ちたす。



All Articles