MongoInsertStorage with PIGを使用してHDFSからMongoDBにファイルをインポートしようとしています。ファイルは大きく、約5GBです。私はMongoDBにデータを挿入するために豚が失敗する
pig -x local example.pig
とローカルモードでそれを実行すると、スクリプトは、私はMapReduceのモードでそれを実行する場合は、マッパーのほとんどは、次のエラーで失敗する細かい動作します:
Error: com.mongodb.ConnectionString.getReadConcern()Lcom/mongodb/ReadConcern;
Container killed by the ApplicationMaster.
Container killed on request.
Exit code is 143 Container exited with a non-zero exit code 143
誰かが私を助けることができますこの問題を解決する??私もYARNコンテナに割り当てられたメモリを増やしましたが、それは役に立たなかった。
一部のマッパーも300秒後にタイムアウトします。
REGISTER mongo-java-driver-3.2.2.jar
REGISTER mongo-hadoop-core-1.4.0.jar
REGISTER mongo-hadoop-pig-1.4.0.jar
REGISTER mongodb-driver-3.2.2.jar
DEFINE MongoInsertStorage com.mongodb.hadoop.pig.MongoInsertStorage();
SET mapreduce.reduce.speculative true
BIG_DATA = LOAD 'hdfs://example.com:8020/user/someuser/sample.csv' using PigStorage(',') As (a:chararray,b:chararray,c:chararray);
STORE BIG_DATA INTO 'mongodb://insert.some.ip.here:27017/test.samplecollection' USING MongoInsertStorage('', '')
チェックmongoログ、あなたはDBへの接続の限界に達するように見えます。 mongoシェルでは 'db.serverStatus()。connections'はオープン/利用可能な接続の数を表示します。 –
上記のクエリを使用すると、使用可能な接続が51186であることが示されます。マッパーがこの数の接続を超えるとは思われません。 – user3270763