目次
本地磁盘健康检查
本地磁盘使用
?AppMaster重试
TaskAttempt重试
AppMaster资源分配
最终处理

hadoop本地目录相关代码分析

Jun 07, 2016 pm 04:38 PM
hadoop コード 分析する 地元 目次 関連している

最近hadoop本地磁盘总是坏,伴随着有些hadoop job失败,阅读了一些相关的代码。 本地磁盘健康检查 NodeManager默认会每两分钟检查本地磁盘(local-dirs),找出那些目录可以使用。注意这里如果判定这个磁盘不可用,则在重启NodeManager之前,就算磁盘好了,

最近hadoop本地磁盘总是坏,伴随着有些hadoop job失败,阅读了一些相关的代码。

本地磁盘健康检查

NodeManager默认会每两分钟检查本地磁盘(local-dirs),找出那些目录可以使用。注意这里如果判定这个磁盘不可用,则在重启NodeManager之前,就算磁盘好了,也不会把它变成可用。代码在LocalDirsHandlerService,DirectoryCollection。

当好磁盘数少于一定量时,会把这台机器变成unhealthy,将不会再给这台机器分配任务。

参数 :

yarn.nodemanager.disk-health-checker.enable ? ? 是否开启磁盘健康检查,默认是开启
yarn.nodemanager.disk-health-checker.interval-ms 检查间隔时间,默认是2分钟
yarn.nodemanager.disk-health-checker.min-healthy-disks ?最少健康磁盘的个数,默认值是0.25,如果少于这个值,则把这个节点变成unhealthy
ログイン後にコピー

本地磁盘使用

NodeManager会从hdfs下载job.jar等东西,这叫资源本地化。代码在ResourceLocalizationService和DefaultContainerExecutor里。

token文件会使用第一个好的local-dirs,其他的文件会顺序的使用local-dirs,文件可能分散在各个盘上。

?AppMaster重试

AppMaster重试是由RM触发,代码在RMAppImpl的AttemptFailedTransition事件里。默认重试次数是1次(也就是不重试)

参数:

yarn.resourcemanager.am.max-retries  AM最大重试次数
ログイン後にコピー

TaskAttempt重试

我们的map和reduce任务都是一个个TaskAttempt,TaskAttempt由AppMaster来管理,启动和重启的操作都是由AppMaster来处理。代码在TaskImpl的AttemptFailedTransition里

参数:

mapreduce.map.maxattempts          map最大重试次数,默认是4
mapreduce.reduce.maxattempts      reduce最大重试次数,默认是4
ログイン後にコピー

AppMaster资源分配

AppMaster会定时申请、释放container资源,代码在RMContainerRequestor.containerFailedOnHost

当taskAttempt在一个节点的失败数目超过一定上限(通过参数?mapreduce.job.maxtaskfailures.per.tracker 配置,默认是3),该节点会被加入临时的黑名单,为了防止大量的机器加入黑名单,还有个参数?yarn.app.mapreduce.am.job.node-blacklisting.ignore-threshold-node-percent 设置最多被加入黑名单的比例,默认值是33,当超过33%的机器被加入黑名单,则黑名单将会失效。

加入黑名单后,会让RM回收这台机器的container,申请其他机器的container

参数:

mapreduce.job.maxtaskfailures.per.tracker  失败多少次后,加入黑名单,默认是3
yarn.app.mapreduce.am.job.node-blacklisting.ignore-threshold-node-percent  加入黑名单的比例超过这个值时,关闭黑名单,默认是33
yarn.app.mapreduce.am.job.node-blacklisting.enable  是否使用黑名单,默认true
ログイン後にコピー

最终处理

在AM失败重启前,先sleep两分钟,等待磁盘健康检查完成。TaskAttempt有黑名单的方式,由于本地磁盘损坏造成的失败可能会比较少触发。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

ブルースクリーンコード0x0000001が発生した場合の対処方法 ブルースクリーンコード0x0000001が発生した場合の対処方法 Feb 23, 2024 am 08:09 AM

ブルー スクリーン コード 0x0000001 の対処法。ブルー スクリーン エラーは、コンピューター システムまたはハードウェアに問題がある場合の警告メカニズムです。コード 0x0000001 は、通常、ハードウェアまたはドライバーの障害を示します。ユーザーは、コンピュータの使用中に突然ブルー スクリーン エラーに遭遇すると、パニックになり途方に暮れるかもしれません。幸いなことに、ほとんどのブルー スクリーン エラーは、いくつかの簡単な手順でトラブルシューティングして対処できます。この記事では、ブルー スクリーン エラー コード 0x0000001 を解決するいくつかの方法を読者に紹介します。まず、ブルー スクリーン エラーが発生した場合は、再起動を試みることができます。

あらゆるデバイス上の GE ユニバーサル リモート コード プログラム あらゆるデバイス上の GE ユニバーサル リモート コード プログラム Mar 02, 2024 pm 01:58 PM

デバイスをリモートでプログラムする必要がある場合は、この記事が役に立ちます。あらゆるデバイスをプログラミングするためのトップ GE ユニバーサル リモート コードを共有します。 GE リモコンとは何ですか? GEUniversalRemote は、スマート TV、LG、Vizio、Sony、Blu-ray、DVD、DVR、Roku、AppleTV、ストリーミング メディア プレーヤーなどの複数のデバイスを制御するために使用できるリモコンです。 GEUniversal リモコンには、さまざまな機能を備えたさまざまなモデルがあります。 GEUniversalRemote は最大 4 台のデバイスを制御できます。あらゆるデバイスでプログラムできるトップのユニバーサル リモート コード GE リモコンには、さまざまなデバイスで動作できるようにするコードのセットが付属しています。してもいいです

Copilot を使用してコードを生成する方法 Copilot を使用してコードを生成する方法 Mar 23, 2024 am 10:41 AM

プログラマーとして、私はコーディング体験を簡素化するツールに興奮しています。人工知能ツールの助けを借りて、デモ コードを生成し、要件に応じて必要な変更を加えることができます。 Visual Studio Code に新しく導入された Copilot ツールを使用すると、自然言語によるチャット対話を備えた AI 生成コードを作成できます。機能を説明することで、既存のコードの意味をより深く理解できます。 Copilot を使用してコードを生成するにはどうすればよいですか?始めるには、まず最新の PowerPlatformTools 拡張機能を入手する必要があります。これを実現するには、拡張機能のページに移動し、「PowerPlatformTool」を検索して、[インストール] ボタンをクリックする必要があります。

ローカル音楽をソーダミュージックに追加する方法 ローカル音楽をソーダミュージックに追加する方法 Feb 23, 2024 pm 07:13 PM

ローカル音楽を Soda Music に追加する方法? Soda Music APP にお気に入りのローカル音楽を追加できますが、ほとんどの友達はローカル音楽の追加方法を知りません。次は、Soda Music にローカル音楽を追加する方法に関するグラフィック チュートリアルです。編集者、興味のある方はぜひ見に来てください!ソーダ ミュージックの使用に関するチュートリアル. ソーダ ミュージックにローカル音楽を追加する方法. 1. まずソーダ ミュージック APP を開き、メイン ページの下部にある [音楽] 機能エリアをクリックします; 2. 次に、再生ページに入り、 をクリックします右下隅の [3 つの点] アイコン; 3. 最後に、下の機能バーを展開し、[ダウンロード] ボタンを選択してローカル音楽に追加します。

Linux の「.a」ファイルを作成して実行する Linux の「.a」ファイルを作成して実行する Mar 20, 2024 pm 04:46 PM

Linux オペレーティング システムでファイルを操作するには、開発者がファイル、コード、プログラム、スクリプトなどを効率的に作成および実行できるようにするさまざまなコマンドとテクニックを使用する必要があります。 Linux 環境では、拡張子「.a」を持つファイルは静的ライブラリとして非常に重要です。これらのライブラリはソフトウェア開発において重要な役割を果たし、開発者が複数のプログラム間で共通の機能を効率的に管理および共有できるようにします。 Linux 環境で効果的なソフトウェア開発を行うには、「.a」ファイルの作成方法と実行方法を理解することが重要です。この記事では、Linux の「.a」ファイルのインストールと構成方法を包括的に紹介します。Linux の「.a」ファイルの定義、目的、構造、作成および実行方法について見てみましょう。 Lとは何ですか

ディレクトリを自動生成する方法 自動生成されるディレクトリの形式を設定する方法 ディレクトリを自動生成する方法 自動生成されるディレクトリの形式を設定する方法 Feb 22, 2024 pm 03:30 PM

Wordでカタログのスタイルを選択すると、操作完了後に自動生成されます。分析 1. コンピューター上の Word に移動し、クリックしてインポートします。 2入力後、ファイルディレクトリをクリックします。 3 次に、ディレクトリのスタイルを選択します。 4. 操作が完了すると、ファイル ディレクトリが自動的に生成されることがわかります。補足: 概要/メモ記事の目次は、第 1 レベルの見出し、第 2 レベルの見出し、および第 3 レベルの見出しを含めて自動的に生成されます (通常は第 3 レベルの見出しまでです)。

DreamWeaver CMS のセカンダリディレクトリを開けない原因の分析 DreamWeaver CMS のセカンダリディレクトリを開けない原因の分析 Mar 13, 2024 pm 06:24 PM

タイトル: DreamWeaver CMS のセカンダリディレクトリを開けない原因と解決策の分析 Dreamweaver CMS (DedeCMS) は、さまざまな Web サイトの構築に広く使用されている強力なオープンソースのコンテンツ管理システムです。ただし、Web サイトの構築中に、セカンダリ ディレクトリを開けない状況が発生し、Web サイトの通常の動作に問題が発生することがあります。この記事では、セカンダリ ディレクトリを開けない考えられる理由を分析し、この問題を解決するための具体的なコード例を示します。 1. 考えられる原因分析: 疑似静的ルール構成の問題: 使用中

WeChatで読む場合のカタログの見方 カタログの見方 WeChatで読む場合のカタログの見方 カタログの見方 Mar 30, 2024 pm 05:56 PM

WeChat Reading App のモバイル版は非常に優れた読書ソフトウェアです。このソフトウェアにはたくさんの書籍や作品が含まれています。ワンクリックでオンラインで検索して読むだけでいつでもどこでも読むことができます。すべて公式に認可されており、異なります。本の種類もきれいに並べられており、ゆっくりと本を読みながら快適に読書を楽しむことができます。さまざまなシナリオの読書モードを切り替え、書籍の最新章を毎日継続的に更新し、複数のデバイスからのオンライン ログインをサポートし、本棚への一括ダウンロードをサポートします。インターネットの有無にかかわらず読むことができるため、誰もがそこからより多くの知識を発見できます編集者がオンラインで詳細を説明 WeChat 読書パートナー向けにカタログの閲覧方法を宣伝します。 1. カタログを表示したい本を開き、本の中央をクリックします。 2. 左下隅にある三本線のアイコンをクリックします。 3. ポップアップ ウィンドウで書籍カタログを表示します。

See all articles