私の目標は、マップ フェーズで Solr インデックスをクエリし、結果を S3 に書き込むエラスティック マップ削減ジョブを実行することです。Solr と Hadoop は、Hadoop ジョブ内で Solr インデックスを構築する (つまり、Solr インデックスへの書き込み) 際にうまく連携しました。Solr インデックスを照会するジョブを実行すると、Solr クライアントを開始しようとするとエラーが発生します。Hadoop と Solr の間に依存関係の問題があると思われます。両方とも異なるバージョンの http クライアントを使用していて、エラーはメソッドが見つからないという問題だったことを思い出します。ここにスタックトレースがあります
2013-07-24 03:17:47,082 FATAL org.apache.hadoop.mapred.Child (main): Error running child : java.lang.NoSuchMethodError: org.apache.http.impl.conn.SchemeRegistryFactory.createSystemDefault()Lorg/apache/http/conn/scheme/SchemeRegistry;
at org.apache.http.impl.client.SystemDefaultHttpClient.createClientConnectionManager(SystemDefaultHttpClient.java:118)
at org.apache.http.impl.client.AbstractHttpClient.getConnectionManager(AbstractHttpClient.java:445)
at org.apache.solr.client.solrj.impl.HttpClientUtil.setMaxConnections(HttpClientUtil.java:179)
at org.apache.solr.client.solrj.impl.HttpClientConfigurer.configure(HttpClientConfigurer.java:33)
at org.apache.solr.client.solrj.impl.HttpClientUtil.configureClient(HttpClientUtil.java:115)
at org.apache.solr.client.solrj.impl.HttpClientUtil.createClient(HttpClientUtil.java:105)
at org.apache.solr.client.solrj.impl.HttpSolrServer.<init>(HttpSolrServer.java:154)
at org.apache.solr.client.solrj.impl.HttpSolrServer.<init>(HttpSolrServer.java:127)