메뉴 건너뛰기

Bigdata, Semantic IoT, Hadoop, NoSQL

Bigdata, Hadoop ecosystem, Semantic IoT등의 프로젝트를 진행중에 습득한 내용을 정리하는 곳입니다.
필요한 분을 위해서 공개하고 있습니다. 문의사항은 gooper@gooper.com로 메일을 보내주세요.


hadoop 2.6.0환경에서 sqoop 1.4.6을 설치하고 sqoop-import를 실행하면 아래와 같은 오류가 발생하는데..

sqoop이 사용하는 jar파일과 설치된 hadoop jar파일중 일부에서 변경사항이 생겨서 문제가 발생한것이다.

(https://issues.apache.org/jira/browse/MAPREDUCE-6167)

 

Exception in thread "main" java.lang.NoSuchMethodError: org.apache.hadoop.http.HttpConfig.getSchemePrefix()Ljava/lang/String;

 

-->해결방법(sqoop : sqoop-1.4.6.bin__hadoop-2.0.4-alpha, hadoop : hadoop 2.6.0인 경우)이 설치된 폴더에서)...

cp /usr/local/hadoop/share/hadoop/mapreduce/*.jar /usr/local/sqoop/lib하고 실행시키면 정상적으로 작동된다.

====> 처음 한번정도 실행되지만 이후는 map 100% reduce 0%에서 멈춰있다가.. 아래와 같은 오류가 발생하면서 job이 fail된다.

Container killed on request. Exit code is 143
Container exited with a non-zero exit code 143

 

===> oozie가 사용하는 sharelibs의 sqoop등 관련 라이브러리를 hadoop2로 변경및 hadoop2기반으로 생성된 lib로 교체해주어야 한다.

===>인터넷 사이트 참조할것

 

 

----참고--------

 

sqoop-export  --connect jdbc:postgresql://server.mydb.com:5432/destdb --username abc --password abcpass --table test --input-fields-terminated-by '01' --input-lines-terminated-by 'n'  --input-null-string '\N' --input-null-non-string '\N' --export-dir /user/hive/warehouse/test 

 
 
-----------오류내용-----------
14/11/17 23:47:45 INFO mapreduce.JobSubmitter: Cleaning up the staging area /user/zjshen/.staging/zjshen/.staging/job_1416270549965_0014
java.lang.NoSuchMethodError: org.apache.hadoop.http.HttpConfig.getSchemePrefix()Ljava/lang/String;
        at org.apache.hadoop.mapred.ClientServiceDelegate.getJobStatus(ClientServiceDelegate.java:428)
        at org.apache.hadoop.mapred.YARNRunner.submitJob(YARNRunner.java:302)
        at org.apache.hadoop.mapreduce.JobSubmitter.submitJobInternal(JobSubmitter.java:430)
        at org.apache.hadoop.mapreduce.Job$10.run(Job.java:1268)
        at org.apache.hadoop.mapreduce.Job$10.run(Job.java:1265)
        at java.security.AccessController.doPrivileged(Native Method)
        at javax.security.auth.Subject.doAs(Subject.java:415)
        at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1628)
        at org.apache.hadoop.mapreduce.Job.submit(Job.java:1265)
        at org.apache.hadoop.mapreduce.Job.waitForCompletion(Job.java:1286)
        at org.apache.hadoop.examples.QuasiMonteCarlo.estimatePi(QuasiMonteCarlo.java:306)
        at org.apache.hadoop.examples.QuasiMonteCarlo.run(QuasiMonteCarlo.java:354)
        at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
        at org.apache.hadoop.examples.QuasiMonteCarlo.main(QuasiMonteCarlo.java:363)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at org.apache.hadoop.util.ProgramDriver$ProgramDescription.invoke(ProgramDriver.java:71)
        at org.apache.hadoop.util.ProgramDriver.run(ProgramDriver.java:144)
        at org.apache.hadoop.examples.ExampleDriver.main(ExampleDriver.java:74)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at org.apache.hadoop.util.RunJar.run(RunJar.java:221)
        at org.apache.hadoop.util.RunJar.main(RunJar.java:136)	
{code}

b. In the following scenarios:

1. Either insecure or secure;
2. MR 2.2 with old shuffle on NM;
3. Submitting via old client.

We will see the following exception in the AM Log:
{code}
2014-11-17 15:09:06,157 INFO [main] org.apache.hadoop.mapreduce.v2.app.MRAppMaster: Created
MRAppMaster for application appattempt_1416264695865_0007_000001
2014-11-17 15:09:06,436 FATAL [main] org.apache.hadoop.mapreduce.v2.app.MRAppMaster: Error
starting MRAppMaster
java.lang.NoSuchMethodError: org.apache.hadoop.http.HttpConfig.setPolicy(Lorg/apache/hadoop/http/HttpConfig$Policy;)V
        at org.apache.hadoop.mapreduce.v2.app.MRAppMaster.main(MRAppMaster.java:1364)
2014-11-17 15:09:06,439 INFO [Thread-1] org.apache.hadoop.mapreduce.v2.app.MRAppMaster: MRAppMaster
received a signal. Signaling RMCommunicator and JobHistoryEventHandler.
{code}

The two exceptions are actually the same problem, but using the old client prevents it happening
during app submission. Will file a separate Jira for it.


was (Author: zjshen):
a. In the following scenarios:

1. Either insecure or secure;
2. MR 2.2 with either old or new shuffle handler on NM;
3. Submitting via new client.

We will see the following console exception:
{code}
14/11/17 23:47:45 INFO mapreduce.JobSubmitter: Cleaning up the staging area /user/zjshen/.staging/zjshen/.staging/job_1416270549965_0014
java.lang.NoSuchMethodError: org.apache.hadoop.http.HttpConfig.getSchemePrefix()Ljava/lang/String;
        at org.apache.hadoop.mapred.ClientServiceDelegate.getJobStatus(ClientServiceDelegate.java:428)
        at org.apache.hadoop.mapred.YARNRunner.submitJob(YARNRunner.java:302)
        at org.apache.hadoop.mapreduce.JobSubmitter.submitJobInternal(JobSubmitter.java:430)
        at org.apache.hadoop.mapreduce.Job$10.run(Job.java:1268)
        at org.apache.hadoop.mapreduce.Job$10.run(Job.java:1265)
        at java.security.AccessController.doPrivileged(Native Method)
        at javax.security.auth.Subject.doAs(Subject.java:415)
        at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1628)
        at org.apache.hadoop.mapreduce.Job.submit(Job.java:1265)
        at org.apache.hadoop.mapreduce.Job.waitForCompletion(Job.java:1286)
        at org.apache.hadoop.examples.QuasiMonteCarlo.estimatePi(QuasiMonteCarlo.java:306)
        at org.apache.hadoop.examples.QuasiMonteCarlo.run(QuasiMonteCarlo.java:354)
        at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
        at org.apache.hadoop.examples.QuasiMonteCarlo.main(QuasiMonteCarlo.java:363)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at org.apache.hadoop.util.ProgramDriver$ProgramDescription.invoke(ProgramDriver.java:71)
        at org.apache.hadoop.util.ProgramDriver.run(ProgramDriver.java:144)
        at org.apache.hadoop.examples.ExampleDriver.main(ExampleDriver.java:74)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at org.apache.hadoop.util.RunJar.run(RunJar.java:221)
        at org.apache.hadoop.util.RunJar.main(RunJar.java:136)	
{code}

b. In the following scenarios:
1. Either insecure or secure;
2. MR 2.2 with old on NM;
3. Submitting via old client.

We will see the following exception in the AM Log:
{code}
2014-11-17 15:09:06,157 INFO [main] org.apache.hadoop.mapreduce.v2.app.MRAppMaster: Created
MRAppMaster for application appattempt_1416264695865_0007_000001
2014-11-17 15:09:06,436 FATAL [main] org.apache.hadoop.mapreduce.v2.app.MRAppMaster: Error
starting MRAppMaster
java.lang.NoSuchMethodError: org.apache.hadoop.http.HttpConfig.setPolicy(Lorg/apache/hadoop/http/HttpConfig$Policy;)V
        at org.apache.hadoop.mapreduce.v2.app.MRAppMaster.main(MRAppMaster.java:1364)
2014-11-17 15:09:06,439 INFO [Thread-1] org.apache.hadoop.mapreduce.v2.app.MRAppMaster: MRAppMaster
received a signal. Signaling RMCommunicator and JobHistoryEventHandler.
{code}

The two exceptions are actually the same problem, but using the old client prevents it happening
during app submission. Will file a separate Jira for it.

> Compatibility validation between YARN 2.2/2.4 and 2.6
> -----------------------------------------------------
>
>                 Key: YARN-2879
>                 URL: https://issues.apache.org/jira/browse/YARN-2879
>             Project: Hadoop YARN
>          Issue Type: Bug
>            Reporter: Zhijie Shen
>            Assignee: Zhijie Shen
>
> Recently, I did some simple backward compatibility experiments. Bascially, I've taken
the following 2 steps:
> 1. Deploy the application (MR and DistributedShell) that is compiled against *old* YARN
API (2.2/2.4) on *new* YARN cluster (2.6). The application is submitted via *new* Hadoop (2.6)
client.
> 2. Deploy the application (MR and DistributedShell) that is compiled against *old* YARN
API (2.2/2.4) on *new* YARN cluster (2.6). The application is submitted via *old* Hadoop (2.2/2.4)
client that comes with the app.
> I've tried these 2 steps on both insecure and secure cluster. Here's a short summary:
> || || || DS 2.2 || DS 2.4 || MR 2.2 + Shuffle 2.2 || MR 2.2 + Shuffle 2.6 || MR 2.4 +
Shuffle 2.4 || MR 2.4 + Shuffle 2.6 ||
> | Insecure | New Client | OK | OK | Client Incompatible | Client Incompatible | OK |
OK |
> | Insecure | Old Client | OK | OK | AM Incompatible | Client Incompatible | OK | OK |
> | secure | New Client | OK | OK | Client Incompatible | Client Incompatible | OK | OK
|
> | secure | Old Client | OK | OK | AM Incompatible | Client Incompatible | OK | OK |
> Note that I've tried to run NM with both old and new shuffle handler version.
> In general, the compatibility looks good overall. There're a few issues that are related
to MR, but they seem to be not the YARN issue. I'll post the individual problem in the follow-up
comments.
번호 제목 글쓴이 날짜 조회 수
201 dr.who로 공격들어오는 경우 조치방법 file 총관리자 2018.06.09 5603
200 cloudera에서 spark-shell를 실행했을때 default master는 spark.master=yarn-client임 총관리자 2018.06.20 181
199 CDH에서 Sentry 개념및 설정 file 총관리자 2018.06.21 504
198 하둡기반 데이타 모델링(6편) 총관리자 2018.06.27 197
197 resouce manager에 dr.who가 아닌 다른 사용자로 로그인 하기 총관리자 2018.06.28 1207
196 upsert구현방법(년-월-일 파티션을 기준으로) 및 테스트 script file 총관리자 2018.07.03 1222
195 sentry설정후 beeline으로 hive2server에 접속하여 admin계정에 admin권한 부여하기 총관리자 2018.07.03 336
194 spark 2.3.0을 설치하가 위해서 parcel에 다음 url을 입력한다. 총관리자 2018.07.15 198
193 [postgresql 9.x] PostgreSQL Replication 구축하기 총관리자 2018.07.17 226
192 HiveServer2인증을 PAM을 이용하도록 설정하는 방법 총관리자 2018.07.21 255
191 anaconda3(v5.4)를 이용하여 tensorflow설치후 ipython프로그램을 실행하여 import할때 오류발생시 조치 총관리자 2018.07.27 188
190 anaconda3 (v5.2) 설치및 머신러닝 관련 라이브러리 설치 절차 총관리자 2018.07.27 513
189 conda를 이용한 jupyterhub(v0.9)및 jupyter설치 (v4.4.0) 총관리자 2018.07.30 421
188 RHEL 7.4에 zeppelin 0.7.4 설치 총관리자 2018.07.31 196
187 Last transaction was partial에 따른 Unable to load database on disk오류 발생시 조치사항 총관리자 2018.08.03 3974
186 sqoop으로 mariadb에 접근해서 hive 테이블로 자동으로 생성하기 총관리자 2018.08.03 673
185 컬럼및 라인의 구분자를 지정하여 sqoop으로 데이타를 가져오고 hive테이블을 생성하는 명령문 총관리자 2018.08.03 419
184 sentry설정 방법및 활성화시 설정이 필요한 파일및 설정값, 계정생성 방법 총관리자 2018.08.16 779
183 postgresql-9.4에서 FATAL: remaining connection slots are reserved for non-replication superuser connections가 나올때 조치 총관리자 2018.08.16 945
182 oracle to hive data type정리표 총관리자 2018.08.22 765

A personal place to organize information learned during the development of such Hadoop, Hive, Hbase, Semantic IoT, etc.
We are open to the required minutes. Please send inquiries to gooper@gooper.com.

위로