HDFS - Eclipse 개발 환경 설정

Posted 06 9, 2013 13:57, Filed under: BigData/Hadoop


# 아래의 시스템 환경 정보

 - 모든 작업을 HDFS NameNode 서버(Linux), 로컬에서 진행
 - Hadoop을 구동한 hadoop 계정으로 Eclipse 구동
 - 로컬 NameNode의 hadoop/conf 디렉토리 파일을 모두 Eclipse/프로젝트명/conf 디렉토리로 복사


# 외부 시스템(Windows OS and Eclipse)에서의 환경 설정
 - 대부분의 작업이 아래와 동일
 - NameNode 서버의 hadoop/conf 디렉토리 파일을 동일하게 모두 복사
 - 복사한 conf 디렉토리의 파일중, 일부 파일의 NameNode 정보를
    hosts 파일에 NameNode의 IP 와 함께 설정
   예) 192.168.1.100    master.namenode


Eclipse 환경 구성

1) Create New Project
 - File > New > Java Project > Hadoop(프로젝트명)
 - File > New > Folder > Hadoop(프로젝트 선택) > conf


 - Java Build Path > Libraries > Add Class Folder
   - 생성후 경로 : Hadoop/conf


* 진행 이미지

more..


2) Set Project Properties
 - Java Build Path > Libraries > Add External Jars(Add JARs 로 선택시 classpath 찾지 못하는 증상 발생)
   - core 지정 : $HADOOP_HOME/hadoop-core-1.1.2.jar
   - lib 지정 : $HADOOP_HOME/lib/*.jar
   - java tools 지정 :  $JAVA_HOME/lib/tools.jar

 
* 진행 이미지

more..


$HADOOP_HOME/conf 디렉토리의 설정파일 모두 Eclipse 프로젝트 conf 디렉토리로 복사

[hadoop@sunshiny-net ~]$ ls
hadoop  jdk1.7.0_17  workspace

[hadoop@sunshiny-net ~]$ cp -r hadoop/conf/* workspace/Hadoop/conf

[hadoop@sunshiny-net ~]$ ls workspace/Hadoop/conf/
capacity-scheduler.xml  hadoop-env.sh               hosts.exclude          masters
hadoop-metrics2.properties  log4j.properties       slaves
configuration.xsl       hadoop-policy.xml           mapred-queue-acls.xml  ssl-client.xml.example
core-site.xml           hdfs-site.xml               mapred-site.xml        ssl-server.xml.example
fair-scheduler.xml      hdfs-site.xml.BAK           mapred-site.xml.BAK    taskcontroller.cfg

# WordCount 테스트

1) WordCount.java 파일 생성및 Eclipse 프로젝트 src 이동
[hadoop@sunshiny-net ~]$ ls
WordCount.java  hadoop  jdk1.7.0_17  workspace
[hadoop@sunshiny-net ~]$ cp WordCount.java workspace/Hadoop/src/examples/
[hadoop@sunshiny-net ~]$ ls workspace/Hadoop/src/examples/
WordCount.java

* jar 파일 생성없이 Java Application을 실행할 경우 아래와 같이 클래스 파일을 찾지 못하는 오류 발생
13/06/09 12:51:29 INFO mapred.JobClient: Task Id : attempt_201306090947_0003_m_000000_1, Status : FAILED
java.lang.RuntimeException: java.lang.ClassNotFoundException: examples.WordCount$TokenizerMapper
    at org.apache.hadoop.conf.Configuration.getClass(Configuration.java:849)
    at org.apache.hadoop.mapreduce.JobContext.getMapperClass(JobContext.java:199)
    at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:719)
    at org.apache.hadoop.mapred.MapTask.run(MapTask.java:370)
    at org.apache.hadoop.mapred.Child$4.run(Child.java:255)
    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:1149)
    at org.apache.hadoop.mapred.Child.main(Child.java:249)
Caused by: java.lang.ClassNotFoundException: examples.WordCount$TokenizerMapper
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:266)
    at org.apache.hadoop.conf.Configuration.getClassByName(Configuration.java:802)
    at org.apache.hadoop.conf.Configuration.getClass(Configuration.java:847)
    ... 8 more

2) WordCount.java 파일을 이용한 jar 파일 생성및 등록
 * jar 파일 생성
   해당 패키지 선택 > 우측마우스 > Export > Java > JAR file > jar 저장위치및 파일명 지정, 저장


 * jar 파일 등록
  프로젝트 선택 > Properties > Java Build Path > Libraries탭 선택 > Add External JARs > WordCount.jar 선택


* 진행 이미지

more..


 * WordCount Java Application 실행
13/06/09 13:12:58 WARN mapred.JobClient: Use GenericOptionsParser for parsing the arguments. Applications should implement Tool for the same.
13/06/09 13:12:58 INFO input.FileInputFormat: Total input paths to process : 1
13/06/09 13:12:59 INFO mapred.JobClient: Running job: job_201306090947_0010
13/06/09 13:13:00 INFO mapred.JobClient:  map 0% reduce 0%
13/06/09 13:13:08 INFO mapred.JobClient:  map 100% reduce 0%
13/06/09 13:13:17 INFO mapred.JobClient:  map 100% reduce 33%
13/06/09 13:13:20 INFO mapred.JobClient:  map 100% reduce 100%
......


# 외부의 PC(Windows OS 포함)에서 Eclipse 환경 구성후 HDFS상의 파일 컨트롤

http://develop.sunshiny.co.kr/922



※ 위 내용은, 여러 자료를 참고하거나 제가 주관적으로 정리한 것입니다.
   잘못된 정보나 보완이 필요한 부분을, 댓글 또는 메일로 보내주시면 많은 도움이 되겠습니다.
06 9, 2013 13:57 06 9, 2013 13:57


Trackback URL : http://develop.sunshiny.co.kr/trackback/921

Leave a comment

« Previous : 1 : ... 103 : 104 : 105 : 106 : 107 : 108 : 109 : 110 : 111 : ... 648 : Next »

Recent Posts

  1. HDFS - Python Encoding 오류 처리
  2. HP - Vertica ROS Container 관련 오류...
  3. HDFS - Hive 실행시 System Time 오류
  4. HP - Vertica 사용자 쿼리 이력 테이블...
  5. Client에서 HDFS 환경의 데이터 처리시...

Recent Comments

  1. Hi, I do think this is a great blo... 룸싸롱 01시 43분
  2. Thanks in favor of sharing such a... 리니지 프리서버 01 20,
  3. 안녕하세요^^ 배그핵
  4. 안녕하세요^^ 도움이 되셨다니, 저... sunshiny
  5. 정말 큰 도움이 되었습니다.. 감사합... 사랑은

Recent Trackbacks

  1. invoice printing and mailing invoice printing and mailing 20 01
  2. cabo san lucas packages cabo san lucas packages 20 01
  3. london relocation services fees london relocation services fees 20 01
  4. printing and mailing companies printing and mailing companies 20 01
  5. Web Site Web Site 19 01

Calendar

«   01 2020   »
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  

Bookmarks

  1. 위키피디아
  2. MysqlKorea
  3. 오라클 클럽
  4. API - Java
  5. Apache Hadoop API
  6. Apache Software Foundation
  7. HDFS 생태계 솔루션
  8. DNSBL - Spam Database Lookup
  9. Ready System
  10. Solaris Freeware
  11. Linux-Site
  12. 윈디하나의 솔라나라

Site Stats

TOTAL 2819260 HIT
TODAY 51 HIT
YESTERDAY 1318 HIT