hadoop-env.sh 파일을 수정하는 대신 /etc/profile 이나 유저 프로파일에 JAVA_HOME 환경변수를 설정하는 방법도 있다.
클러스터 구성
아래와 같이 하둡 클러스터를 구성하기로 했다.
hadoop01, hadoop02, hadoop03 세 대의 노드로 구성한다. 이 중 hadoop01을 마스터노드(Master node)로 설정하기로 했다. 나머지 노드들은 슬레이브 노드(Slave node)가 된다. 하둡 클러스터에서 마스터 노드는 Name node, checkpoint node, Journal node, Resource manager, JobTracker 등의 클러스터 정보를 관리한다.
위 그림에서 볼 수 있듯이 마스터 노드는 name node, secondary name node, jobtracker 데몬(마스터 데몬이라고 부르기도 한다.)으로 구성된다. 슬레이브 노드는 tasktracker 와 datanode로 구성이 된다. 마스터와 슬레이브의 주요 차이점은 마스터 노드가 하둡 클러스터를 관리하기 위한 기능들을 가지는 반면, 슬레이브 노드는 HDFS(하둡파일 시스템)과 맵리듀스(MapReduce)등 데이터를 저장하고 처리하기 위한 기능을 가지고 있다는 점이다.
/etc/hosts 구성
호스트 이름으로 노드들을 찾을 수 있도록 /etc/hosts 파일을 구성한다. 모든 노드들에 아래의 설정을 추가했다.
루트(root)계정이 아닌 일반 계정 yundream으로 하둡을 실행하기로 했다. 모든 하둡 노드에 yundream 계정을 만들었다.
ssh key 설정
마스터 노드와 슬레이브 노드는 ssh 로 통신을 한다. 마스터 노드에서 ssh key를 만들어서 슬레이브 노드에 등록하자.
$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/yundream/.ssh/id_rsa):
Created directory '/home/yundream/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/yundream/.ssh/id_rsa.
Your public key has been saved in /home/yundream/.ssh/id_rsa.pub.
id_rsa.pub를 슬레이브 노드의 .ssh/autorized_keys에 등록한다.
$ cat id_rsa.pub >> $HOME/.ssh/autorized_keys
ssh public key는 슬레이브 노드들 뿐만 아니라 마스터 노드의 autorized_keys에도 등록한다. 마스터 노드에서 슬레이브 노드로 ssh 연결을 확인해 보자. 참고로 마스
마지막으로 dfs.replication 파라메터를 변경한다. 이 파라메터로 블럭들에 대한 복제(리플리카)의 갯수를 설정할 수 있다. 복제가 많을 수록 데이터를 더 안전하게 보관 할 수 있다. dfs.replication의 기본 값은 3인데, 지금 테스트 환경은 2개의 노드만 사용 하고 있으므로 dfs.replication의 값은 2로 설정한다.
Contents
Hadoop 설치
JDK 설치
기타 패키지 설치
Hadoop 설치
클러스터 구성
/etc/hosts 구성
하둡 유저
ssh key 설정
하둡 설정
master (마스터노드 설정)
slaves (마스터노드 설정)
*-site.xml (모든 노드)
하둡 실행
테스트
참고
Recent Posts
Archive Posts
Tags