Hadoopにはバランサーというものがあります。象本10.1.4.4 バランサー参照。 Hadoopでは時間の経過とともにDataNode間でのブロックの分散度合いのバランスが悪くなっていきます。これを是正するためのプログラムがバランサーで実態はstart-balancer.shというシェルです。 start-balancer.shは利用度の高すぎるDataNodeから利用度の低すぎるDataNodeへブロックを移動するプログラムです。 -threshold引数はバランス度合いを決めるパーセンテージでデフォルトは10です。各DataNodeの利用率とクラスタの利用率の差を意味しています。 start-balancer.shをcronでたたくという運用もあるようですが、僕が見た範囲だと何もしなくても10%以内の隔たりに収まる気がします。 ただ今回僕が遭遇したのはディスク使用率が高いという警告
Disclaimer: The opinions expressed here are my own and do not necessarily represent those of current or past employers.Twitter / Photos Disclaimer: The opinions expressed here are my own and do not necessarily represent those of current or past employers. Twitter / Photos @kernel023がすごい勢いでひとりアドベントカレンダーを更新中で、こちらのHadoopアドベントカレンダー2013はすっかり裏扱いされつつある今日このごろですが、せっかくなので6日目としてデータノードのデコミッションが遅いときにどうしますかという地
すべての地雷を踏む男leonです。 Hadoopカスタマイズをネタにブログを始めさせていただきました。 前回、Hadoopセットアップ手順を紹介させていただいたので、今回からカスタマイズ話をしたいと思います。 Hadoopのincludeファイル、excludeファイルにハマった・・・。 今日はそのお話をさせていただきます。 話を始める前にincludeファイル、excludeファイルとはなんですかを説明しないとですね。 このincludeファイルとexcludeファイルはサーバーのslave接続を終了させる際に、ノードからデータを退避して脱退させる為に使用します。 includeファイルはデータノードへの接続を許可されるデータノード、JobTrackerに接続可能なTaskTrackerのホスト名を記述するファイルです。includeファイルはdfs.hostsプロパティとmapred.
ここ最近毎日のようにHDD障害が発生しててお祓いに行った方が良いのかなと思い始めているwyukawaです。こんばんは。 HadoopのdatanodeにHDD障害が発生した場合、普通はdecommissionすると思います。 ただdecommissionってやたら時間かかるんですよね。まる1日とかね。まあデータ量が多いからだとは思います。例えばTBいかないならdecommissionしてもそんなに時間かからないのかなと思います。完全に想像ですが。 なので僕は下記のようにdatanodeを止めちゃってます。 hadoop-daemon.sh stop datanodeこの辺は以前下記にも書きました。 dfs.datanode.failed.volumes.toleratedとdatanodeのdecommission - wyukawa’s blog こうすると一時期にレプリカ数が足りないブ
HDFSにはdfs.datanode.failed.volumes.toleratedという設定項目があります。defaultは0。 <property> <name>dfs.datanode.failed.volumes.tolerated</name> <value>0</value> <description>The number of volumes that are allowed to fail before a datanode stops offering service. By default any volume failure will cause a datanode to shutdown. </description> </property>内容は下記に詳しいです。 By default, the failure of a single dfs.data.dir
カイワレ先生のブログを見て、自分のメモがてら、JBODについて書いてみます。 JBODって、なんぞやって、日本人なら誰もが一度は考えると思うからです。(RAID0と何が違うの?って) 現状、JBODという言葉は非常に曖昧な言葉です。 日本語wikipediaにも3つ定義があります。 1.JBOD機能を持つRAIDコントローラカードを取り付けて、JBODにしたいハードディスクをRAIDコントローラカードに接続する。 2.JBOD用として製造されたディスクアレイ製品をSCSIやファイバーチャネル等のインターフェースに接続する。 3.すでに接続されている複数のハードディスクを、ソフトウェア的に統合してJBODとする(Windows NT系列のOSには「スパン」という名称でこの機能が標準装備されている)。 http://ja.wikipedia.org/wiki/JBOD より。これはこれで微妙な
夏はビールがことごとくうまいなと感じる@masudaKです。 少し前にHadoop専用サーバの環境構築をする機会に恵まれたのですが、ディスク構成をどうするかでわりと目新しいことばかりだったので、備忘録も兼ねて文字に起こしておきます。 前提として、HadoopのMasterではJobTrackerとNameNodeが動いて、SlaveではTaskTrackerとDataNodeが動いてるとします。DataNodeが動くSlaveはクラスタ構成になっていて、HDFSによってデータが分散・冗長化されているとします。 今回の記事ではジョブのデータを読み書きし、IOに対するケアが必要なSlaveのディスク構成を対象とします。Masterはメタデータなど大事なデータは保存してますが、読み・書きの量は少ないのと、単にRAID1で組んでおけば、ディスクに対するケアはそこまで必要ないので、この記事では取り上
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く