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 think that i noticed you vis... 국내선물 08시 59분
  2. 안녕하세요^^ 배그핵
  3. 안녕하세요^^ 도움이 되셨다니, 저... sunshiny
  4. 정말 큰 도움이 되었습니다.. 감사합... 사랑은
  5. 네, 안녕하세요. 댓글 남겨 주셔서... sunshiny

Recent Trackbacks

  1. joe’s dj service bozeman mt joe’s dj service bozeman mt %M
  2. Mysql - mysql 설치후 Character set... 멀고 가까움이 다르기 때문 %M

Calendar

«   11 2019   »
          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

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 2761713 HIT
TODAY 427 HIT
YESTERDAY 1386 HIT