問題タブ [elastic-map-reduce]

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.

0 投票する
3 に答える
7215 参照

hadoop - Hadoop ノードで RegexSerDe を使用できるようにするにはどうすればよいですか?

私は、Hive を使用して Web ログを分析する問題に対処しようとしています。多くの例を見てきましたが、この特定の問題を抱えている人を見つけることができないようです。

これが現在の状況です: AWS ElasticMapReduce クラスターをセットアップし、ログインできるようになり、Hive を起動しました。必ずadd jar hive-contrib-0.8.1.jarロードすると表示されます。event_log_rawいくつかの文字列列と正規表現を含む というテーブルを作成します。load data inpath '/user/hadoop/tmp overwrite into table event_log_raw、そして私はレースに出かけます。select * from event_log_raw動作します (マップ% を取得せず、% 出力を減らすため、ローカルで考えます)、サンプル データから 10 レコードを取得し、正しく解析しました。すべて問題ありません。 select count(*) from event_log_raw同様に動作しますが、今回は mapreduce ジョブが作成されています。

request_urlフィールドをマップに変換したいので、次を実行します。

Mapreduce が起動し、待って、待って...失敗しました。

タスク トラッカーの syslog を確認すると、特に次のことがわかります。

私はこれをグーグルで検索しましたが、私のグーグルフーはうまくいかないと思います。私が見つけたものはすべて、これに問題があり、add jarコマンドを実行して解決する人々を示しています。私はそれを試しました、私はそれを私のに追加しようとしました、私hive-site.xmlはそれをローカルに持ってみました、jarをs3バケットに入れてみました. ブートストラップ フェーズ (災害) 中に追加するブートストラップ ステップを追加しようとしました。

a.)タスクノードがRegexSerDeを見つけられない理由、およびb.)これを機能させる方法を理解するのを手伝ってくれる人はいますか? 単に実行しているだけでなく、何かを明らかにする可能性がある場合は、リンクも歓迎しますadd jar

前もって感謝します!

0 投票する
3 に答える
317 参照

hadoop - マッパーコードのロジックに応じて、マッパーから別のディレクトリにデータ(行)を書き込みます

私はEMRのニーズにmrjobを使用しています。

マッパーコードのロジックに応じて、マッパーから「個別のディレクトリ」にデータ(行)を書き込むにはどうすればよいですか。

  1. targzipと

  2. ジョブが突然終了/終了した後、(ディレクトリ名に応じて)個別のS3バケットにアップロードしますか?

''オプションでは、最終的なジョブ出力をそのディレクトリにアップロードすることしかできないと思い--output-dirますが、マッパーから他のディレクトリにも時々書き込みたいと思います。

0 投票する
1 に答える
817 参照

java - Mapper 値出力としてのインターフェイス

出力値が次のようなインターフェイスに設定されているマッパーがあります。

マッピング中に、このシグネチャを使用してオブジェクトを作成し、それらを発行します。

私のマッパーは次のようなものです:

しかし、私はこのエラーが発生しています:

だから私の最初の本能は、次のようにキャストしようとすることでした:

ただし、それでも同じエラーが発生します。これは、マッパーの出力タイプを OutRecord クラスから OutValue インターフェイスに変更する前に機能しました。そうする理由は、このマッパーから出力したい OutRecord クラスのタイプがたくさんあるからです。

これは可能ですか?OutValue はインターフェイスではなくクラスである必要がありますか?

アップデート:

Hadoop 0.20.205.0 のソースの一部を掘り下げたところ、次のことがわかりました。

したがって、彼らが使用している実行時チェックは、クラス内で厳密な等価性を必要とし、サブクラス化/インターフェースなどをチェックしません。確かにこれは一般的なユースケースです。誰かがこれをやろうとしましたか?

0 投票する
1 に答える
3429 参照

amazon-s3 - 完了したジョブのAWSEMRレデューサー出力はどこにありますか(S3にあるはずですが、そこには何もありません)?

AWSのEMRでのHadoopジョブがS3に保存されないという問題があります。小さいサンプルでジョブを実行すると、ジョブは出力を適切に保存します。同じコマンドを実行すると、完全なデータセットでジョブが再び完了しますが、出力を指定したS3には何も存在しません。

どうやら2009年にAWSEMRにバグがあったようですが、それは「修正」されました。

他の誰かがこの問題を抱えていますか?データがサーバーのどこかに埋め込まれていることを期待して、クラスターはまだオンラインになっています。私がこのデータを見つけることができる場所を誰かが知っているなら、私に知らせてください!

更新:レデューサーの1つからのログを見ると、すべてが正常に見えます。

このタスクのノードに接続すると、上記の一時ディレクトリは空になります。

更新2:HadoopでAmazon S3とS3nの違いを読んだ後、問題が出力パスとして「s3n://」ではなく「s3://」を使用しているのではないかと思います。私の小さなサンプル(うまく保存されている)と完全な仕事の両方で、「s3://」を使用しました。これが私の問題になる可能性があるかどうかについて何か考えはありますか?

アップデート3: AWSのEMRでは、s3://とs3n://の両方がS3ネイティブファイルシステムにマッピングされていることがわかります(AWS EMRドキュメント)。

アップデート4:サーバーとレデューサーの数を増やすたびに、このジョブをさらに2回再実行しました。これら2つのうちの最初のものは、89/90レデューサー出力がS3にコピーされて終了しました。90番目は、ログによると正常にコピーされたと述べましたが、AWSサポートはファイルがそこにないと言います。彼らはこの問題をエンジニアリングチームにエスカレートしました。さらに多くのレデューサーとサーバーを使用した2回目の実行では、すべてのデータがS3にコピーされて実際に終了しました(ありがたいことに!)。ただし、奇妙な点の1つは、一部のレデューサーがデータをS3にコピーするのにFOREVERを使用することです。これらの新しい実行の両方で、出力がS3にコピーするのに1〜2時間かかったレデューサーがありましたが、他のレデューサーは最大10分しかかかりませんでした。 (ファイルは3GB程度です)。これは、EMRで使用されているS3NativeFileSystemの問題に関連していると思います(たとえば、長い間ぶら下がっています-もちろん請求されます。アップロードが成功したとされるが、アップロードされない)。最初にローカルHDFSにアップロードし、次にS3にアップロードしましたが、この面でも問題があります(AWSエンジニアリングチームのレビュー待ち)。

TLDR; AWSEMRを使用してS3に直接保存するのはバグがあるようです。彼らのエンジニアリングチームが調査しています。

0 投票する
2 に答える
6652 参照

amazon-web-services - HDFS に出力する EMR ジョブで distcp と s3distcp を使用する際の問題

AWS の EMR でジョブを実行し、出力を EMR ジョブの HDFS に保存しました。次に、distcp または s3distcp を介して結果を S3 にコピーしようとしていますが、以下で説明するように両方とも失敗しています。(注: EMR ジョブの出力を S3 に直接送信するだけではない理由は、完了したジョブの AWS EMR レデューサー出力はどこにありますか (S3 にあるはずですが、そこには何もない) で説明した (現在未解決の) 問題が原因です) )?

distcp の場合、次のように実行します (この投稿の推奨に従って):

エラー ログ (/mnt/var/log/hadoop/steps/8) に次のように表示されます。

s3distcp の場合、次を実行します ( s3distcp のドキュメントに従って):

エラー ログ (/mnt/var/log/hadoop/steps/9) には、次のように表示されます。

私が間違っていることはありますか?

更新: AWS フォーラムで、同様の distcp エラーに関する投稿に回答した人が、IAM ユーザーのユーザー権限について言及していますが、これが何を意味するのかわかりません(編集: IAM ユーザーを作成していないため、デフォルトを使用しています); うまくいけば、それが私の問題を特定するのに役立ちます。

更新 2: namenode ログ ファイルでこのエラーに気付きました (s3distcp の再実行時)。デフォルトの EMR 権限を調べて、それが私の問題かどうかを確認します。

更新 3: AWS サポートに連絡しましたが、問題は見られなかったので、エンジニアリング チームからの連絡を待っています。詳細がわかり次第投稿します

0 投票する
1 に答える
420 参照

amazon-ec2 - AWS Elastic Mapでパフォーマンスに参加すると、実行中のハイブが減少します

単純な結合クエリを実行しています

テーブルt1とt2は両方ともそれぞれ2000万レコードを持ち、列snoは文字列データ型です。

テーブルデータは、Amazons3からrcfile形式でHDFSにインポートされます。クエリは15のAmazonラージインスタンスで109秒かかりましたが、16GBのRAMと16のCPUコアを備えたSQLサーバーでは42秒かかりました。

私は何かが足りないのですか?Amazonでパフォーマンスが低下する理由がわかりませんか?

0 投票する
3 に答える
2758 参照

hadoop - S3でhadoopfs-getmergeを実行することは可能ですか?

S3でいくつかのファイルを書き込んでいるElasticMapReduceジョブがあり、すべてのファイルを連結して一意のテキストファイルを生成したいと思います。

現在、すべてのファイルを含むフォルダーをHDFS(hadoop fs copyFromLocal)に手動でコピーしてから、hadoopfs-getmergeおよびhadoopfscopyToLocalを実行してファイルを取得しています。

とにかくS3で直接hadoopfsを使用することはできますか?

0 投票する
2 に答える
3113 参照

git - GIT を EMR にインストールする

1) git は EMR に標準でインストールされていると言われました。これは本当ですか ?私のelastic-mapreduce sshターミナルに「git」が見つからないことを確認できるので、そうではないと思います。https://raw.github.com/gist/3177009/6128554a2668367b72758be74885836e41898923/gistfile1.txtを参照してください。

2)EMRにgitをインストールする必要がありますが、次の行:

hadoop@ip-10-235-11-52:/mnt$ sudo apt-get インストール git --assume-yes

結果:

hadoop@ip-10-235-11-52:/mnt$ sudo apt-get install git --assume-yes パッケージリストを読み込んでいます... 完了 依存関係ツリーを構築しています
状態情報を読み込んでいます... 完了 git は既に最新バージョンです。0 がアップグレードされ、0 が新しくインストールされ、0 が削除され、3 がアップグレードされませんでした。

ただし、残念ながら、このコマンドを発行した後でも、この EMR インスタンスで git は実行されません。

hadoop@ip-10-235-11-52:/mnt$ git -bash: git: コマンドが見つかりません hadoop@ip-10-235-11-52:/mnt$ sudo git sudo: git: コマンドが見つかりません

0 投票する
3 に答える
3621 参照

hadoop - Amazon Elastic MapReduce:出力ディレクトリ

私はElasticMapReduceを実行するAmazonの例を実行していますが、次のエラーが発生し続けます。

ジョブの起動中にエラーが発生しました。出力パスは既に存在します。

これが私が使用しているジョブを実行するためのコマンドです:

ここから例が出てきます

私は出力ディレクトリについてAmazonの指示に従っています。バケット名はs3n://mp.maptester321mark/です。私はこのURLの問題についての彼らの提案をすべて調べました

これが私のcredentials.json情報です:

0 投票する
1 に答える
679 参照

hadoop - Apache HBase と Cloudera HBase は互換性がありますか?

職場では、次のことを試みています。

  • Amazon 経由で Elastic MapReduce ジョブを実行すると、Hadoop がバージョン 0.20.205 でフリーズします。
  • EC2 で実行されている HBase、具体的には Cloudera の 0.92.1-cdh4.0.1 に出力を書き込みます。

これまでに発見したことは、Hadoop ジョブ (maven 経由でパッケージ化) で Apache HBase 0.92.1 を使用すると、WordCount テストが機能するように見えることです。これが偶然に機能していて、使用が成熟するにつれて爆発する可能性があるのではないかと心配しています。

ただし、Hadoop ジョブで HBase 0.92.1-cdh4.0.1 をパッケージ化すると、次のようになりますClassNotFoundException

https://emr-qa.eventbrite.com.s3.amazonaws.com/logs/j-RWJ75VR11SLB/steps/1/stderr

  • Apache HBase jar は CDH Hbase サーバーとうまく連携しますか?
  • このようにバージョンとパッケージを混在させるのは恐ろしい考えですか?