--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
참고 자료
http://hadoop.apache.org/common/docs/r0.20.2/quickstart.html
- 제일 간단한 튜토리얼
http://www.michael-noll.com/tutorials/running-hadoop-on-ubuntu-linux-multi-node-cluster/#java-io-ioexception-incompatible-namespaceids
- datanode가 동작하지 않을 때 참고해볼 주소
http://www.crobak.org/2011/12/getting-started-with-apache-hadoop-0-23-0/
- datanode 및 namenode를 시작하고 멈추는 커맨드를 참고했음
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
일단 아래를 따라 싱글 노드 설치를 해보면서 간단히 배우도록 한다.
아래 링크에서는 주로 두가지 모드를 다룬다.
- Local (Standalone) Mode :하나의 프로세스
- Pseudo-Distributed Mode :여러 개의 프로세스로 실행
Pseudo-Distributed Mode 에서
ssh localhost처럼 하기보다
ssh userid@localhost 처럼 로그인 하는 것을 권장함
conf/hadoop-env.sh 에 JAVA_HOME 을 지정하는 것을 잊지 않도록!
아래와 같이 접근하도록 하려면,
- NameNode - http://localhost:50070/
- JobTracker - http://localhost:50030/
conf/core-site.xml: namenode 관련
conf/hdfs-site.xml: datanode 관련
conf/mapred-site.xml: JobTracker 관련
nameNode 주소를 따라가면 log를 보는 링크가 있음
모든 쉘 스크립트(명령)는 hadoop을 받고 압축을 푼 디렉토리 아래에 있다.
즉 (HADOOP_HOME)/bin
쉘 스크립트을 정리해보면
jps - (java에서 별도로 제공되는 커맨드임.) : 어떤 노드가 실행되고 있는 지 보여준다.
start-all.sh: 모든 노드를 시작
stop-all.sh:모든 노드를 멈춤
hadoop : job을 실행할 때 주로 사용
hadoop namenode -format
: do not execute this without stopping running datanode
hadoop-daemon.sh start namenode : 말 그대로
hadoop-daemon.sh stop namenode : 말 그대로
hdfs: hadoop 에서 새롭게 미는 command인듯 다른 커맨드를 대체할 것으로 예상
hadoop : job을 실행할 때 주로 사용
hadoop fs: 파일 시스템 관련 커맨드
hadoop fs -ls . : 유저의 현재 디렉토리가 아닌 hdfs 기준으로 현재디렉토리 내용을 보여준다.
hadoop fs -put (local path) (hdfs path): local에서 hdfs로. hdfs path는 (hadoop fs -ls .)를 통해 감을 잡도록 한다.
ex) hadoop fs -put ~/WordCountBin/input input
hadoop fs -get (hdfs-based possibly relative path) (local path): hdfs 에서 local 시스템으로 복사
ex) hadoop fs -get ./output ~/WordCountBin/output
DATA 에서
java.io.IOException: Incompatible namespaceIDs 에러가 생겼을 때, 해결법
http://www.michael-noll.com/tutorials/running-hadoop-on-ubuntu-linux-multi-node-cluster/#java-io-ioexception-incompatible-namespaceids
1. stop the DataNode
2. Edit the value of namespaceID in ${hadoop.tmp.dir}/dfs/name/current/VERSION to match the value of in ${hadoop.tmp.dir}/dfs/data/current/VERSION [NOTE] hadoop.tmp.dir 경로는 conf/core-site.xml를 참조하거나 기본적으로 /tmp/hadoop-(유저이름)을 참조하면된다. (Hadoop 0.21 기준?)
3. start the DataNode
'네트워크 및 분산시스템' 카테고리의 다른 글
Baseband(lowpass), bandpass (0) | 2012.05.14 |
---|---|
Scalability (0) | 2010.05.16 |
Distributed computing (분산 컴퓨팅) (0) | 2010.02.02 |
Node (0) | 2009.12.02 |
Smart Grid (From Wiki) (0) | 2009.10.30 |