2013-07-24 5 views
1

목표는 맵 위상에서 Solr 인덱스를 쿼리하고 결과를 S3에 쓰는 탄력적 인 맵 축소 작업을 실행하는 것입니다. Solr과 Hadoop은 Hadoop 작업 내에서 Solr 색인을 작성할 때 (예 : Solr 색인 작성) 잘 작동했습니다. Solr 인덱스를 쿼리하기 위해 작업을 실행할 때 Solr 클라이언트를 시작하려고 할 때 오류가 발생합니다. Hadoop과 Solr 사이의 종속성 문제가 의심 스럽습니다. 둘 다 다른 버전의 http 클라이언트를 사용하고 있으며 오류는 발견되지 않은 메서드입니다. 여기에 스택 추적Hadoop 작업 내에서 Solr Cloud Index를 호출하는 중 오류가 발생했습니다.

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) 
+0

solr 종속 항아리를 Hadoop에 추가 했습니까? –

+0

EMR에서 기본 hadoop jar를 사용하고 있으며 패키지 된 jar 파일로 작업을 실행한다고 가정합니다. 나는 그것에 항아리 tvf를 확인하고 이상하게 그것은 찾을 수없는 방법으로 클래스가 포함되어 있습니다. –

답변

0

정의 된 클래스 경로 종속성 문제를 일 트릭 사용자를 사용

--args -s, mapreduce.user.classpath.first = 사실

을이 선택 하를 않았다 추가입니다 hadoop과 solr jar 사이

관련 문제