問題タブ [hadoop-yarn]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 物理メモリと仮想メモリが不足している Hadoop YARN マップ タスク
マルチスレッド実行でマップタスクから実行する次のメソッドがありますが、これはスタンドアロンモードでは正常に機能しますが、Hadoop YARN でこれを実行すると、1GB の物理メモリが不足し、仮想メモリもシュートします上。
プログラミングの観点から間違ったことをしているかどうかを知る必要があります。開いているすべてのストリームをできるだけ早く閉じていると思うので、メモリ リークが発生する理由はわかりません。お知らせ下さい。
ありがとう。
public static void manageTheCurrentURL(String url) {
}
java - ConnectException が原因で Hadoop マップが失敗する
Hadoop 2.2.0 クラスターで wordcount の例を実行しようとしています。この例外が原因で、多くのマップが失敗しています。
ジョブを実行するたびに、問題のあるポートが変更されますが、マップ タスクは引き続き失敗します。そのポートをリッスンするプロセスがわかりません。また、実行中に出力を追跡しようとnetstat -ntlp
しましたが、ポートをリッスンするプロセスはありませんでした。
更新:/etc/hosts
マスター ノードの内容は次のとおりです。
また、slave1 の場合は次のとおりです。
slave2 の場合は、slave1 にマイナーな変更を加えたようなもので、推測できると思います。最後に、yarn/hadoop/etc/hadoop/slaves
マスターの内容は次のとおりです。
hadoop - コンテナがメモリ制限を超えて実行されています
Hadoop v1 では、それぞれ 7 つのマッパーとリデューサー スロットに 1GB のサイズを割り当てました。マッパーとリデューサーは問題なく動作します。私のマシンには 8G メモリ、8 プロセッサが搭載されています。YARN を使用して、同じマシンで同じアプリケーションを実行すると、コンテナー エラーが発生しました。デフォルトでは、次の設定があります。
それは私にエラーを与えました:
次に、mapred-site.xml でメモリ制限を設定しようとしました。
しかし、まだエラーが発生しています:
map タスクがこれほど多くのメモリを必要とする理由がわかりません。私の理解では、map/reduce タスクには 1GB のメモリで十分です。コンテナにより多くのメモリを割り当てると、タスクがより多くのメモリを使用するのはなぜですか? 各タスクがより多くの分割を取得するためですか? コンテナのサイズを少し小さくして、より多くのコンテナを作成して、より多くのタスクを並行して実行する方が効率的だと思います。問題は、各コンテナが処理できる以上の分割が割り当てられないようにするにはどうすればよいですか?
hadoop - Hadoop gen1 と Hadoop gen2 の比較
Hadoop-2.x の tasktracker の場所について少し混乱しています。
Hadoop-1.x のデーモンはnamenode, datanode, jobtracker, taskracker and secondarynamenode
Hadoop-2.x のデーモンはnamenode, datanode, resourcemanager, applicationmaster, secondarynamenode.
これの意味はJobtracker has split up into: resourcemanager and applicationmaster
では、どこtasktracker
ですか?
java - 実行中の Hadoop のジョブがジョブ トラッカーに表示されない
問題: Hadoop 2.2.0 クラスターにジョブを送信すると、ジョブ トラッカーには表示されませんが、ジョブは正常に完了します。これにより、出力が表示され、正しく実行され、実行中に出力が出力されます。
複数のオプションを試しましたが、ジョブ トラッカーにジョブが表示されません。2.2.0 Hadoop を使用してストリーミング ジョブを実行すると、タスク トラッカーに表示されますが、hadoop-client API を介して送信すると、ジョブ トラッカーに表示されません。ジョブを確認するために、ポート 8088 の UI インターフェイスを見ています。
環境 OSX Mavericks、Java 1.6、Hadoop 2.2.0 シングル ノード クラスタ、Tomcat 7.0.47
コード
etc/hadoop/mapred-site.xml
etc/hadoop/core-site.xml
hadoop - 「Wordcount」プログラムは MRv1(mapreduce) と MRv2(YARN) で異なりますか?
「Wordcount」プログラムは、Hadoop(Mapreduce) のバージョンによって異なりますか。少なくとも MRv1(mapreduce) と MRv2(YARN) の場合は?
または
プログラミングは同じですが、単語数に必要なパッケージはさまざまです.......?
hadoop - Yarn (Hadoop 2.2.0) でリデュース ジョブ (マルチ リデュース ジョブ) を配布するにはどうすればよいですか?
私は HADOOP 1.2.1 サーバーを使用しており、そこで多くの豚の仕事を実行しています。そして最近、Hadoop サーバーを HADOOP 2.2.0 に変更することを検討しました。そこで、HADOOP 1.2.1 バージョンで行ったように、HADOOP 2.2.0 でいくつかの豚の仕事を試しました。
しかし、YARN MR2 で私がほとんど理解していないことの 1 つは、すべての mr ジョブでスケジュールされている削減ジョブが 1 つだけであることです。
最初は、reduce の方が mr1 よりも高速であると思います。これは、リソース マネージャーが、reduce ジョブを 1 台のサーバーだけで処理することによって効率的にスケジュールされているためです。
しかし、すべての大きなサイズの mr ジョブでは、YARN MR2 は毎回スケジュールされた 1 つの Reduce ジョブのみを割り当てます。
以下はExtreamのケースです。
私の古い HADOOP (バージョン 1.2.1) サーバーは、1 つのジョブトラッカーと 2 つのタスクトラッカーで構成されています。(各4コア、32G)
2時間38分かかります。
私の新しい HADOOP (バージョン 2.2.0) サーバーは、1 つのリソース マネージャーと 8 つのノード マネージャー (それぞれ 4 コア、32G) で構成されています (新しいシステムの方がはるかに優れています)。
5時間38分かかります。
My Old Hadoop サーバーのリソースは貧弱ですが、New Hadoop サーバーよりもはるかに高速です。分配される仕事を減らすからです。一方、HADOOP 2.2.0 サーバーには豊富なリソースがあり、マップは古いシステムよりもはるかに高速でしたが、reduce には非常に長い時間がかかりました。
Map (4G、ヒープ スペース 3G) および Reduce (8G、ヒープ スペース 6G) として構成された Hadoop 2.2 メモリ。さまざまな構成セットを試しました。しかし、結果は常に1つの削減ジョブでした。
そこで豚のソースコードを調べてみました。
My Pig ジョブが常に One reduce ジョブを作成する理由は、InputSizeReducerEstimator クラスが hdfs ファイル システムにアクセスできないためです。
// InputSizeReducerEstimator.java List の 79 行目 poLoads = PlanHelper.getPhysicalOperators(mapReduceOper.mapPlan, POLoad.class);
結果の poLoads は常に 0 サイズです。
したがって、私のreduceジョブは常に1と推定されます。