Experiences/Hadoop

2-3. 하둡의 실행-2

프로그래머 2012. 9. 5. 21:56

Fully distributed(완전분산) 모드에 대해서 알아보자.



3. Fully distributed(완전 분산) 모드



지금버터는 모든 기능이 갖추어진 클러스터를 구성한다. 

구성은 다음과 같다.


1. master - 클러스터의 master 노드로서, NameNode와 JobTracker 데몬을 제공한다.

2. backup - SNN(Secondary NameNode 데몬)을 제공하는 서버

3. hadoop1, hadoop2, hadoop3 - DataNode와 TaskTracker 데몬을 실행하는 slave


Master 노드에서 하둡의 환경 설정 파일(3개의 xml)을 아래와 같이 수정하자.


- core-site.xml


이 부분은 파일 시스템을 설정해주기 위한 부분이다.


- mapred-site.xml


이 부분은 JobTracker 위치를 지정해준다.


- hdfs-site.xml


이 부분은 HDFS 복제 계수를 지정해준다.


그리고 다른 데몬들의 위치를 나타내기 위해 conf/masters와 slaves 파일을 수정해야한다.



위의 서버들을 직접적으로 작동하게 하기 위해서는 번거롭지만 /etc/hosts 파일을 수정해줘야한다.


이제 위에서 설정한 파일들을 클러스터의 모든 노드에 복사해줘야한다.

(그래서 일괄적으로 master 노드에서 작업한 후 한번에 모든 노드에 뿌려줄려고 했다.)



근데 위에 보면 각 노드에 접속할때 패스워드를 묻는 작업이 있다.

그렇다! SSH 설정을 해주어야한다! SSH에 대해 약간 설명하자면,


SSH는 표준 공개 키 암호(standard public key cryptograph)를 이용해 한 쌍의 키를 생성한다.

이 키는 사용자를 확인하는 데 사용되는데 하나는 공개(public) 키이고 다른 하나는 개인(private) 키로 설정된다.


공개 키는 클러스터에 있는 모든 노드에 저장되고 master 노드는 원격의 컴퓨터에 접근할 때 개인 키를 보낸다. 해당 컴퓨터는 이 두 개의 키를 가지고 접근 시도를 허락한다.


지금 총 5개의 노드가 존재한다. (master, backup, hadoop1, hadoop2, hadoop3)

그렇다면 모든 서버에서 서로 자유롭게 돌아다니기 위해서는 모든 서버에 SSH 설정을 해주어야한다.

(개인적으로 하둡의 이러한 개인설정이 굉장히 복잡하고 까다롭다는 생각이 든다.)


이 부분에 대해서는 시간을 내서 다시 해야할 듯 싶다.

상당히 시간이 소요되는 부분이고 어떻게 설명을 해야할지 좀 더 고민해보고 올리겠다.


SSH 설정을 하지않았다고 해서 진행이 불가능한 것은 아니니 설치되었다고 가정하고 진행하자.

다음으로는 저장소로 이용하기 위해서 HDFS를 포맷한다.



그리고 이제 서버를 시작해보자.



아래 그림과 같이 노드마다 그에 맞는 데몬들이 실행되어 있는지 확인해보자!


여기까지 했다면 이제 완전분산모드 환경은 구축된 것이다~ 수고많았다^^


다음 시간에는 이 완전분산환경에서 WordCount를 실행해보고, 웹 기반의 클러스터 UI를 통해서 훨씬 손쉽게 원하는 정보를 볼 수 있는 방법에 대해서 알아보도록 하자!


'Experiences > Hadoop' 카테고리의 다른 글

2-4. 하둡의 실행-3  (0) 2012.09.07
[!] Pseudo-distributed 모드에서 WordCount 에러  (0) 2012.08.31
2-2. 하둡의 실행  (1) 2012.08.31
2-1. 하둡의 구성요소  (6) 2012.08.29
1-6. Hadoop 첫 프로그램 실습(WordCount) - 2  (0) 2012.08.28