象を飌いならすか、HUEずは

投皿では、Hadupeでの䜜業をもう少し快適にする方法に぀いお説明したす。







この蚘事では、Hadoop゚コシステムのコンポヌネントの1぀であるHUEに぀いお怜蚎したす。 「Huey」たたは「HH Yu Y」ず発音したすが、よく知られおいるロシア語の単語であるバリアントずは䞀臎したせん。



HUEHadoopナヌザヌ゚クスペリ゚ンスは、Hadoopeのデヌタを分析するためのWebむンタヌフェむスです。 少なくずもそれが圌ら自身の䜍眮づけです。 HUEは、Apacheラむセンスの䞋でリリヌスされたオヌプン゜ヌスプロゞェクトです。 執筆時点で、ClouderaのHUEが所有しおいたす。 hadupの最も人気のあるすべおのディストリビュヌションにむンストヌルされたす。





略語HUEを翻蚳するず、「ナヌザヌの小屋のナヌザヌ゚クスペリ゚ンス」たたは「Hadupnyナヌザヌ゚クスペリ゚ンス」のようなものが埗られたす。 そしお、本圓にそうです。 私はハドむドのいく぀かの経隓を持っおHUEに来たした。 私は、コン゜ヌルずCDMクラりドマネヌゞャヌの䞡方でフヌドを操䜜したした。 ほずんど䜿甚されおいるSparkおよびYARNフレヌムワヌク、およびごくわずかなOozie。 そしお、時間が経぀に぀れお、私はいく぀かのアむデア/ナヌザヌ芁件を蓄積したした



  1. YARNでタスクが開始した構成をすばやく確認できるず䟿利です 。
  2. Clouderaのネむティブブラりザよりも機胜的なファむルブラりザを䜿甚できれば玠晎らしいず思いたす非゚ンタヌプラむズバヌゞョンを䜿甚したした。
  3. Oozieよりも䟿利で自動化されたタスクスケゞュヌラを䜿甚するのは玠晎らしいこずです。


それは私のナヌザヌ゚クスペリ゚ンスであり、HUEに実装されたした。 ファむルブラりザから始めたす。 クラりダヌのネむティブよりもはるかに䟿利です。 HDFSのある堎所から別の堎所にファむルずディレクトリを䜜成/コピヌ/移動できたす。 アクセス暩を倉曎し、ロヌカルマシンからHDFSにファむルをアップロヌドし、ロヌカルマシンにダりンロヌドせずに䞀郚の圢匏.txt、.seqのファむルを開くこずができたす。 タスクスケゞュヌラは、本質的に自動化されたOozieです。 HUEはjob.propertiesずworkflow.xmlを䜜成したす。䞀般に、Oozieが手䜜業で行わなければならなかったすべおのルヌチン䜜業は、HUEが行っおくれたす。 以䞋にいく぀かの䟋を挙げお、これに぀いお詳しく説明したす。



しかし、HUEはファむルブラりザずスケゞュヌラタスクスケゞュヌラであるだけでなく、クラスタのほがすべおのモゞュヌルぞのアクセスを提䟛するアプリケヌションのセットであり、アプリケヌションを開発するためのプラットフォヌムです。







この蚘事では、HUE + Oozie、HUE + YARN、HUE + Spark、HUE + HDFSのバンドルに぀いお説明したす。



HUE + Oozie


たず、Oozieには3぀の䞻芁なタスクタむプがあるこずを思い出させおください。









画面の䞊郚には「ワヌクフロヌ」セクションがあり、そこにはダッシュボヌドず゚ディタヌの2぀のサブセクションがあり、それぞれタスクのタむプごずにサブセクションがありたす。



Dashbordは、実行䞭/実行枈みのタスクを監芖したす。



EditorはOozieタスク゚ディタヌです。



ダッシュボヌド


DashbordはOozieタスクを衚瀺したす。 ぀たり 18.00にワヌクフロヌたずえば、YARNで実行䞭のタスクを起動する䜕らかのコヌディネヌタヌがあり、珟圚は正午に過ぎない堎合、YARNリ゜ヌスマネヌゞャヌでは、実行䞭のタスクのみが衚瀺され、Dashbordには衚瀺されたせん実行䞭/準備状態でハングしたす実行䞭-タスクが少なくずも䞀床実行されおいる堎合、たずえばコヌディネヌタヌが昚日からハングし、ワヌクフロヌが昚日開始された堎合;準備-タスクが完了しおいない堎合 䞋の写真は私のダッシュボヌドの䞀郚を瀺しおいたす。远加説明なしですべおが明確になっおいるず思いたす機密情報を黒でカバヌしたした。







線集者


ワヌクフロヌセクションから始めたしょう。 このセクションには、このナヌザヌのすべおの利甚可胜なアクセス可胜なワヌクフロヌが衚瀺されたす。 ここから、ワヌクフロヌ、およびワヌクフロヌに関する情報のコピヌ、削陀、むンポヌト、゚クスポヌト、および䜜成を他のナヌザヌず共有できたす。 新しいワヌクフロヌを䜜成するプロセスを怜蚎しおください。







ACTIONS行では、ワヌクフロヌの䜜成に基づいお可胜なすべおのアクション、぀たり、Hiveスクリプト、Hive Server2スクリプト、Pigスクリプト、Sparkプログラム、Javaプログラム、Sqoop 1、Map Reduceゞョブ、サブワヌクフロヌ、シェル、Ssh、HDFS fs、電子メヌル、ストリヌミング、Distcp、キル。



HUE + HDFS


それをパラメヌタヌ化しながら、HDFSにディレクトリを䜜成する簡単なワヌクフロヌを䜜成したしょう。







ここで、$ {Dir}は倉数であり、その倀はディレクトリの䜜成元のディレクトリになりたす。



$ {Year}、$ {Month}、$ {Day}も倉数であり、その目的は明確です。



アクションの呚囲に灰色のフィヌルドが衚瀺されたす。アクションを配眮するこずもできたす。そのため、耇数の出力を持぀分岐ワヌクフロヌを取埗できたす。このような䜜業の䟋を埌で瀺したす。 ギアは、アクションずストップアクションのコヌナヌにも衚瀺されたす。 これらの歯車をクリックするず、蚭定メニュヌに移動したす。 各タむプのアクションには独自の蚭定がありたすが、シヌケンスなどの共通の蚭定セットがありたす。 タスクが正垞に完了したずきに枡すアクション、タスクが倱敗した堎合のアクション。



ワヌクフロヌを実行するず、倉数の倀を蚭定するように求められたす。 それでは、ワヌクフロヌに基づいおコヌディネヌタヌを䜜成したしょう。







こちらがコヌディネヌタヌです。 察応するフィヌルドに時間枠を蚭定したす。すべおが単玔で、唯䞀の機胜は過去にタスクを実行できるこずです。 コヌディネヌタヌには、名目ず実時間の2皮類の時間がありたす。 名矩は時間枠内にあるもので、実際は実時間です。 もっず蚀いたいこずは、高床な構文、このチェックボックスをアクティブにするこず、crontab圢匏で頻床を蚭定するこずが可胜になるこずです。 呚波数では、すべおがそうです。 ワヌクフロヌのパラメヌタヌに぀いおは、EL関数匏蚀語関数を䜿甚しお蚭定したす。 倉数yearで指定された関数は、倀-2016、day-5を返したすが、月があればより興味深い-前月の番号を返したす開始は適合したせんでしたが、日ず幎ず同じです。 Dirは定数です。 蚭定によるず、コヌディネヌタヌは1週間に1日1回起動したす。぀たり、パス/ test / 2016/4 /に沿っおHDFSに7぀のフォルダヌがありたす。 ここにそのような簡単な䟋がありたすが、実甚的なアプリケヌションはありたせんが、少し倉曎した堎合、たずえば、タスクでフォルダヌを䜜成せずに、前日/月/幎のログを持぀フォルダヌを削陀するず、すでに利点がありたす。



プ+ダヌン


Javaプログラム、MapReduceプログラムなどのアクションを䜿甚しおワヌクフロヌを䜜成し、HDFSバンドルの䟋のようにパラメヌタヌ化するこずもできたす。 タスク実行プロセスがログに蚘録され、HUEのログがYARN Resource ManagerたたはHistory Serverから取埗されたす。 少しだけ䟿利に構造化されおいるだけですもちろん、これはすでに奜みの問題です。 たた、YARNでタスクを盎接実行するこずずのもう1぀の違いは、少し倚くのリ゜ヌスが必芁になるこずです。 Oozieタスクが最初に䜜成されるため、その目暙はワヌクフロヌJava / MapReduce / Sparkタスクを呌び出すこずです。 このOozieタスクは、クラスタヌごずに1぀のコア実際のコアではなくvcoreず1.5 GbのRAMを消費したす。

MapReduceプロシヌゞャを䟋ずしお䜿甚し、ワヌクフロヌのJavaプログラムアクションから呌び出すこのバンドルを怜蚎したす。







これは、ワヌクフロヌがどのように芋えるかです。 [Jar name]フィヌルドで、HDFSにある実行可胜jarファむルぞのパスを瀺したす。 クラスタヌ内のすべおのマシンで耇補する必芁はなく、HDFSに配眮するだけです。 メむンクラスフィヌルドはメむンクラスです。 それでは、パラメヌタです。 この問題では、すべおをパラメヌタヌ化したしたが、すべおのパラメヌタヌをパラメヌタヌ化する必芁はありたせん。 1぀の非垞に重芁な点に泚意する䟡倀がありたす。 枡されるパラメヌタヌの䞀郚は-D_parameter_name = valueの圢匏で蚭定され、䞀郚は配列の文字列匕数ずしお取埗されたす。 ダック、たず–D圢匏のすべおのパラメヌタヌを蚭定し、次に文字列匕数を蚭定する必芁がありたす。 あなたがそれらを動かすず、圌はそれらを間違っお知芚したす。 たずえば、最初に–D圢匏のパラメヌタヌの䞀郚が蚭定され、次に通垞、次に再び–D圢匏が蚭定されたした。この堎合、–D圢匏パラメヌタヌの2番目の郚分は文字列パラメヌタヌずしお認識されたす。 この機胜を特定する前に、倚くの時間を費やす必芁がありたした。 それでは、ワヌクフロヌに基づいおコヌディネヌタヌを䜜成したしょう。







前の䟋のように䜜成されたす。



HUE + Spark


ワヌクフロヌは前の䟋ず同様に䜜成され、コヌディネヌタヌも同様です。 1぀の機胜がありたす-起動時にメむンクラスのような゚ラヌが発生し、jarファむルをHDFSに配眮した堎合、HDFSず同じディレクトリ内のすべおのマシンでjarファむルを耇補する必芁がありたす。




分岐したワヌクフロヌも衚瀺したい







ワヌクフロヌの最初にある魔法の杖は゜リュヌションブログです。線集モヌドに入るず、魔法の杖がどうなるかがわかりたす。








そしお最埌に、私は蚀いたす...



個人的に、HUEはHadoop゚コシステムでの䜜業をより快適にしたした。 ただし、その機胜の半分は䜿甚しおいたせん。 他のHUEバンドルに぀いおは䜕も蚀いたせんでした。シェルずのバンドルのように非垞に単玔であるか、䜿甚せずに䜕も蚀えないためです。 たた、ク゚リ゚ディタヌ、メタストアマネヌゞャヌ、怜玢に぀いおも話したせんでした。 この䞖界の知識にご関心をお寄せいただき、ありがずうございたす。



All Articles