2014-07-18 3 views
0

내 PC에 hadoop-2.2.0이 있는데이 버전으로 프로그램을 작성했습니다. 그리고 이제는 큰 클러스터에서 테스트해야하지만, 클러스터 컴퓨터의 hadoop에서는 hadoop-1.2.1입니다. I 에서 조직/폴더의 유틸리티/ProgramDriver.run ([Ljava/랭/문자열) 조직/아파치/하둡 :hadoop-2.2.0에서 작성한 hadoop 프로그램을 hadoop-1.2.1에서 실행할 수 있습니까?

java.lang.NoSuchMethodError : 나는 그것을 내을 programm를 실행하려고하면 는 오류가 .apache.hadoop.examples.ExampleDriver.main (ExampleDriver.java:74) sun.reflect.NativeMethodAccessorImpl.invoke0 (기본 방법)에서 sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:94)에서 일에서 . reflection.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:55) at java.lang.reflect.Method.invoke (Method.java:619) at org.apache.hadoop.util.RunJar.main (RunJar.java:160)

나는 googled하고 그것은 버전의 문제가 보인다. 그래서 프로그래머가 이전 버전의 hadoop에서 새 버전의 hadoop으로 작성한 코드를 실행할 수 있습니까? 미리 감사드립니다!

+1

힌트 : 항상 대상 클러스터와 동일한 버전의 Hadoop을 사용하여 개발하십시오. 엄청난 고통을 덜어줍니다. – climbage

+0

네, 맞습니다! 다음 번에는 클러스터 관리자와 먼저 통화하고 같은 환경을 만들어야합니다. 귀하의 tipp 주셔서 감사합니다! – user2991640

답변

1

맵 축소 프로그램과 사용하는 클래스에 따라 다릅니다 (내 직감은 작동하지 않습니다). Hadoop-1.x.x에서 2.x.x는 주요 릴리스 변경 사항이므로 프로그램에서 사용하는 클래스 및 라이브러리가 크게 변경 될 것입니다. 버전에 대한 릴리스 정보를 확인하는 것이 좋습니다.

+0

:(이것은 패키지를 사용하여 패키지를 사용하는 것을 의미합니다. hadoop-1.2.1에서 사용할 수 있습니다.이 이전 버전에서는 ok로 실행됩니다.) – user2991640

+0

코드에서 수행하려는 작업에 따라 다릅니다. 버전에 따라 변경 될 수있는 다른 패키지에 따라 사용이 달라질 수 있습니다. 그러나 한 번 사용해 볼 수는 있습니다. –

관련 문제