問題タブ [distcp]
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.
amazon-emr - EMR S3DistCp groupBy を適切に行うには?
aws .net sdk を使用して s3distcp ジョブを EMR に実行し、フォルダー内のすべてのファイルを --groupBy arg で連結しています。しかし、私が試した「groupBy」引数が何であれ、常に失敗するか、引数リストに --groupBy が指定されていない場合のように連結せずにファイルをコピーするだけです。
フォルダー内のファイルは、次のような名前の spark saveAsTextFiles です。
part-0000
part-0001
part-0002
...
...
loops - s3-dist-cp および hadoop distcp ジョブが EMR で無限にループする
s3 から HDFS に 193 GB のデータをコピーしようとしています。s3-dist-cp と hadoop distcp に対して次のコマンドを実行しています。
これらをマスターノードで実行し、転送量もチェックしています。約 1 時間かかり、それをコピーした後、すべてが消去され、クラスター内の 4 つのコア インスタンスでディスク容量が 99.8% と表示され、hadoop ジョブが永久に実行されます。コマンドを実行するとすぐに、
これはすぐに印刷され、1 時間にわたってデータをコピーします。それは最初からやり直します。
ここで何か不足していますか?どんな助けでも大歓迎です。
また、ジョブが失敗してループしているかどうかを確認するために、マスター ノードのログ ファイルはどこにありますか? ありがとう
hadoop - Hdfs から s3 Distcp へ - アクセスキー
HDFS から S3 バケットにファイルをコピーするために、コマンドを使用しました
ただし、アクセス キーとセクテット キーはここに表示されており、安全ではありません。file から資格情報を提供する方法はありますか。私が遭遇した方法の1つである構成ファイルを編集したくありません。
hadoop - ファイルリスト付きHadoop distcp
distcp を使用して、ファイルのリスト (> 1K ファイル) を hdfs にコピーしたいと考えています。既にファイルのリストをローカル ディレクトリに保存していますが、-f を使用してすべてのファイルをコピーできますか? はいの場合、ファイルリストファイルで維持する必要がある形式は何ですか? または他に良い方法はありますか?
hadoop - Spark を使用して Hadoop クラスタ全体にデータをコピーする
PROD から UAT (hadoop クラスター) にデータ/ファイルをコピーする必要がある状況があります。そのために'distcp'
今使っています。しかし、それは永遠にかかっています。distcp は内部で map-reduce を使用しているため、spark を使用してプロセスを高速化する方法はありますか? Hive 実行エンジンを'TEZ'
(を置き換えるmap-reduce
) に設定できるように、実行エンジンを Spark に設定できdistcp
ますか? 'spark'
または、distcp を気にしないクラスタ間でデータをコピーする他の方法はありますか?
そして、ここで私の 2 番目の質問が来ます (実行エンジンを map-reduce の代わりに spark に設定できると仮定しdistcp
ます。それ以外の場合は回答しないでください):- 私の知る限り、Spark は主にデータを保存するため、map-reduce よりも高速ですディスクからデータをロードする必要がないように、何度か処理する必要があるメモリ内。ここではクラスタ間でデータをコピーしているため、各ファイルがメモリに格納され、ネットワーク経由で送信され、コピー先のクラスタ ディスクにコピーされるため、1 つのファイルを複数回処理 (またはブロックまたは分割) する必要はありません。 、そのファイルのストーリーの終わり。では、主な機能を使用しない場合、Spark はなぜプロセスを高速化するのでしょうか?
hadoop - MapReduce を使用して、処理後のデータを別のクラスターに転送するにはどうすればよいですか?
私はHadoopが初めてです。データの処理を行い、結果を別のクラスターに移動する単一の MR ジョブを作成したいと考えています。ドライバー関数内で宛先を簡単に変更できることは承知していますが、データは分散方式ではなく順次転送されると思います。MR ジョブ内から DistCp を呼び出す方法はありますか?
java - Distcp Java API 使用時の NoSuchMethodError
Distcp Java API を使用して、ある Hadoop クラスターから別のクラスターにデータをコピーしようとしています。
ただし、次の例外が発生します。
次のコードを使用しています。
私は Hadoop 2.7.1 を使用しており、distcp の依存関係は次のとおりです。
amazon-web-services - oozie distcp s3 から s3 への無効な引数 org.jets3t.service.impl.rest.HttpException のコピー
次のようなdistcpアクションがあります
次のように、jceks ファイルに 2 つの資格情報を追加しました。
s3a 資格情報はソースの aws の場所用であり、s3n 資格情報は宛先用です。
Oozie アクションを実行すると例外が発生し、これがスタック トレースです。
同じ資格情報を使用してコマンドラインからdistcpをテストしたところ、完全に正常に動作しました。
hadoop - Distcp - コンテナが物理メモリの制限を超えて実行されています
私は数日間 distcp と格闘してきました。これが私のユースケースです:
使用事例
/hdfs/rootなどの特定の場所にメインフォルダーがあり、多くのサブディレクトリ(深さは固定されていません)とファイルがあります。
ボリューム: 200,000 ファイル ~= 30 GO
クライアントのサブセット ( /hdfs/rootなど) のみを別の場所 (たとえば /hdfs/dest) にコピーする必要があります。このサブセットは、時間の経過とともに更新できる絶対パスのリストによって定義されます。
ボリューム: 50,000 ファイル ~= 5 GO
hdfs dfs -cp /hdfs/root /hdfs dest
シンプルは最適化されておらず、すべてのファイルが必要であり、更新モードがないため、使用できないことを理解しています。
ソリューション POC
最終的に、次の 2 つの方法で hadoop distcp を使用しました。
と
Algo 2 も起動しません。ソースとブラックリストの差分を作成するのは彼には難しすぎるようです。そのため、Algo 1 を使用しましたが、うまくいきました。
OOZIE ワークフロー
Oozie ワークフローですべてのワークフローをスケジュールする必要があることを知っています。私はdistcpコマンドをたくさん持っていて、oozieで再帰やループをマスターしていないので、アルゴ2をシェルアクションに入れました。
開始してしばらくすると、次のエラーが表示されます: コンテナーが物理メモリの制限を超えて実行されています。現在の使用量: 16 GB の物理メモリのうち 17.2 GB を使用
それでは、メモリを追加します。
それでも、コンテナが物理メモリの制限を超えて実行されます。現在の使用量: 32 GB の物理メモリのうち 32.8 GB が使用されていますが、ジョブは前のジョブの 2 倍長く存続しました。
クラスターの RAM は無限ではないため、これ以上先に進むことはできません。ここに私の仮説があります:
- distcp ジョブがメモリを解放しない (JVM ガベージ コレクタ ?)
- Oozie は、すべての distcp ジョブの追加を現在のメモリ使用量として認識します。これはばかげています。
- これはこれを行う正しい方法ではありません(よく知っていますが、それでも)
また、メモリ管理について理解していないことがたくさんあります。かなり曖昧です (yarn、oozie、jvm、mapreduce)。
グーグルで調べていると、実際の distcp の使用例について話している人がほとんどいないことに気付きました。この投稿は 4 日前のものです。 htmlを参照し、私の場合は使用できないスナップショットの使用法について説明します。
http://atlas.incubator.apache.orgについても聞いたことがあります。これは、ファイルを「タグ付け」し、特定のユーザーにアクセスを許可することで最終的に問題を解決するため、特定の場所へのコピーを回避できます。私の管理チームはそれに取り組んでいますが、本番環境には反映されません。
私はかなり絶望的です。助けて。