티스토리 뷰
오랜만에 다시 Hadoop을 테스트하기 위해 Shell 창을 열어 Hadoop명령어를 치려니 왠지 뭔가 생소하게 느껴지는 것이 새롭다. 오늘은 그 동안 삽질하면서 설치한 Hadoop에 책에서 나오는 코딩 된 HDFS 소스 파일들을 컴파일하고 실행하는 방법을 남겨보고자 한다.
그리고, 이번 테스트를 하면서 앞에서 실수한 부분을 다시 수정하고자 한다. 앞에서 하둡을 설치할 때 나는 자바 버전을 1.7 버전으로 설치를 하였었다. 그런데, 자바파일 컴파일을 하는 과정에서 컴파일이 되지 않고 컴파일은 되었다 할지라도 실행과정에서 java version 이 맞지 않는다는 오류를 발견할 수 있었다. 그래서, 하둡 홈폴더에 있는 build.xml 파일을 확인해서 보니, 자바버전이 1.6 버전으로 되어 있다는 것을 알았고, 설치되어 있는 1.7 버전을 삭제하고 다시 1.6버전으로 재 설치하였다. 그리고 나서 다시 컴파일을 하고 실행을 하니 정상적으로 테스트해 볼 수 있었다.
우선, JAVA로 된 샘플 소스를 코딩 해야한다. 다음에 나와 있는 소스 샘플은 한빛미디어 “Hadoop 완벽가이드”에 있는 URLCat이라는 소스로써 복사해서 붙여도 무방은 하나 그래도 이왕 공부 하는거 하나하나 타이핑을 해 보면 더 좋지 않을까?
1
import java.io.InputStream; 2
import java.net.URL; 3
4
import org.apache.hadoop.fs.FsUrlStreamHandlerFactory; 5
import org.apache.hadoop.io.IOUtils; 6
7
public class URLCat { 8
9
static { 10
URL.setURLStreamHandlerFactory(new
FsUrlStreamHandlerFactory()); 11
} 12
13
public static void main(String[]
args) throws Exception { 14
InputStream in = null; 15
try { 16
System.out.println(args[0]); 17
in = new
URL(args[0]).openStream(); 18
IOUtils.copyBytes(in,
System.out, 4096, false); 19
} finally { 20
IOUtils.closeStream(in); 21
} 22
} 23
}
이렇게 해서 타이핑 한 소스를 하둡이 설치되어 있는 소스 폴더(사용자 임의 지정 가능)에 옮긴다. Vi 에디터를 통해 간단하게 복사해서 붙여넣기 하고 저장하면 끝난다.
자~!! 이번에는 컴파일을 한번 해 보도록 하자. 아주 중요하다. 책에 나오지 않는다. 한국 웹사이트나 블로그에도 안 나온다. 해외사이트에서도 찾기 힘들다. 일본 사이트에서 가서 겨우겨우 찾아서 볼 수 있었다.
우선, 하둡 홈 폴더에 들어가서 build 폴더를 생성한다.
$ cd hadoop-1.0.3 $ mkdir build $ cd build $ mkdir classes |
생성이 되었으면 이제 컴파일을 해보자. 컴파일 공식은 다음과 같다. 우선 클래스 패스를 지정하자. Hadoop을 사용하여 소스를 코딩 했다면 반드시 Hadoop 홈폴더에 있는 hadoop-core 파일이 필요하다. 그러므로 클래스 패스는 하둡 홈에 있는 hadoop-core 파일을 써주고, 컴파일 된 클래스 파일이 저장될 위치를 –d 옵션을 통해 지정해 준다. 이 위치는 아까 위에서 생성한 build 폴더 밑에 classes 폴더로 지정하면 된다. 다음은 컴파일 하고자 하는 자바파일명을 써주면 된다.
$ javac –classpath $HADOOP_HOME/hadoop-core-1.0.3.jar –d [class_path] [filename].java |
그럼 컴파일 예제를 한번 보자.
이제 실행을 한번 해 볼까? 다음과 같이 입력하자.
$ hadoop URLCat hdfs://localhost/[경로]/[파일명] |
나
같은 경우에는 localhost로 하지 않고 IP를 지정해주었기
때문에 지정한 IP와 Port로 URL 경로를 잡아주었다. 하둡의 웹 인터페이스로 미리 하둡에 올려둔
파일의 경로를 알아보자.
이제 테스트를 해 보면 파일에 있는 내용이 콘솔창으로 보일 것이다.
요즘 꼭 지켜줘야 할 것 같은 참조한 사이트나 블로그의 URL을 꼭 남겨주는 센스라고나 할까? 참조 블로그를 남겨본다.
'Cloud' 카테고리의 다른 글
[VirtualBox] Windows Host OS와 Ubuntu Guest OS Network 연동하기 (2) | 2013.02.27 |
---|---|
Putty를 활용한 Ubuntu VM Instance 접근하기 (0) | 2012.10.09 |
Hadoop 명령어 정리 (3) | 2012.08.29 |
Stand-Alone Hadoop 환경설정 (2) | 2012.08.27 |
VM Ubuntu에 Hadoop(Stand-Alone) 설치하기 (2) | 2012.08.23 |
- Total
- Today
- Yesterday
- OVN
- cpu
- 파이썬
- 하둡
- 명령어
- 레드햇
- 후기
- neutron
- 클라우드
- Network
- openstack
- 네트워크
- 김미경
- 우분투
- Java
- 설치
- Swift
- 쿠버네티스
- sdn
- Python
- 컨테이너
- ubuntu
- Redhat
- install
- NOVA
- 오픈스택
- 세미나
- 뉴트론
- command
- 오픈쉬프트
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |