관리 메뉴

HAMA 블로그

하둡 쉘 스크립트 실행 순서도 | 본문

Hadoop

하둡 쉘 스크립트 실행 순서도 |

[하마] 이승현 (wowlsh93@gmail.com) 2015. 4. 27. 11:15




이번주 토요일 발표된 하둡 쉘에 대하여 간단히 정리해봤습니다. 지저분한것들이 많지만..
핵심은 저것인데요.

0. 실행은 항상 마스터컴퓨터에서 합니다.
1. 먼저 start-dfs.sh 로 실행합니다.   ( 하둡의 HDFS 를 실행시키기 위함) 
2. start-dfs.sh 은 내부에서 hdadoop-config.sh 을 가져와서 실행합니다. config 에는 별거 없습니다.
3. hadoop-config.sh 내부에서는 다시  hadoop-env.sh 을 가져옵니다. 위에 보시다시피 각종 환경변수들을 설정해줍니다.
4. 마지막으로 start-dfs.sh 은  hadoop-daemon.sh 와 hadoop-daemons.sh 를 실행합니다. 
5. 단수인것은 네임노드만 실행하는것이구요 ( 네임노드는 마스터에 존재)
6. 복수인것은 for 문 돌면서 원격컴퓨터의 hadoop-daemon.sh 을 실행합니다. 
7. 결국 hadoop-daemon.sh 을 실행합니다.
8. hadoop-daemon.sh 은 옵션에 따라서  namenode 와 datanode 를 실행합니다.
9. hadoop --config 컨피그 디렉토리  namenode/datanode    start/stop  이렇게 실행합니다.
10. 마지막으로 hadoop 파일을 보면  하둡 라이브러리들을 클래스패스에 등록한후에  결국 자바클래스를 호출합니다.

name 노드 실행은   exec JAVA  namenode 자바클래스  start 
data  노드 실행은   exec JAVA  datanode 자바클래스 start 
입니다.

HDFS 에 파일을 조작하는 명령어는  hadoop fs 이며 
하둡에서 맵리듀스를 실행하는 명령어는 hadoop jar  입니다.

결국 소스는 위에 있는 클래스소스들부터 분석시작하면 됩니다. 

주요 클래스

CLASS= org.apache.hadoop.hdfs.server.namenode.NameNode
CLASS= org.apache.hadoop.hdfs.server.datanode.DataNode
CLASS=org.apache.hadoop.fs.FsShell
CLASS=org.apache.hadoop.util.RunJar


Comments