본문 바로가기

Apache Hadoop

Apache Hadoop (+ datanode 3대 추가)

기존 3개 서버로 구성되어 있는 hadoop에 datanode 3대를 추가해보겠습니다.

1. dn01 ( 추가할 데이터노드 서버 1 ) 

2. dn02 ( 추가할 데이터노드 서버 2 )

3. dn03 ( 추가할 데이터노드 서버 3 )

 

 

먼저, 새로 구축된 데이터 노드와 하둡 서버 간의 SSH KEY 교환을 진행하도록 하겠습니다.

 

기존 하둡 서버 3대와 새로 추가된 데이터노드 서버 3대에서 host 정보를 수정합니다.

vi /etc/hosts

 

 

host 설정

 

모든 서버 동일하게 적용합니다.

 

키 교환을 하기에 앞서 추가 된 데이터 노드 서버 3대에서는 key를 생성해야합니다.

dn01,dn02,dn03 서버의 각각 계정으로 진행해주세요.

 

ssh-keygen

 

key 생성

 

 

기존에 하둡 서버 3대에서 사용한 계정은 각각 hadoop 이라는 계정을 사용하였고, 새로 추가 할 데이터 노드 서버 3대의 명칭은 각각 dn01,dn02,dn03 이기 때문에 이에 맞게 key를 교환합니다. ( 데이터노드 서버 또한 계정은 hadoop이라는 계정을 사용합니다.)

 

 

ssh-copy-id -i .ssh/id_rsa.pub hadoop@hadoop1

ssh-copy-id -i .ssh/id_rsa.pub hadoop@hadoop2

ssh-copy-id -i .ssh/id_rsa.pub hadoop@hadoop3

ssh-copy-id -i .ssh/id_rsa.pub hadoop@dn01

ssh-copy-id -i .ssh/id_rsa.pub hadoop@dn02

ssh-copy-id -i .ssh/id_rsa.pub hadoop@dn03

 

 

기존 하둡 서버 3대에서는 hadoop 계정으로 키 교환

추가 할 데이터 노드 3대에서는 dn01,dn02,dn03 계정으로 키 교환.

 

다음으로는 하둡에서 workers를 수정해야합니다. 기존 설치된 하둡서버의 workers 정보를 변경합니다.

workers에는 추가 할 데이터 노드 3대 정보를 입력합니다.

 

/hadoop경로/etc/hadoop/workers 파일 수정

 

dn01

dn02

dn03

 

수정이 완료되었다면 압축 후 새로운 데이터노드 서버에 hadoop 파일을 배포합니다.

 

tar -cvf hadoop폴더이름

scp hadoop.tar.gz hadoop@dn01:설정경로

scp hadoop.tar.gz hadoop@dn02:설정경로

scp hadoop.tar.gz hadoop@dn03:설정경로

 

 

배포한 데이터 노드 서버에 접속하여 압축을 해제합니다.

 

tar -xvf hadoop.tar.gz 

 

** 기존 하둡 서버와 설정이 동일하여 경로는 똑같이 지정해야 합니다.

 

hdfs-site.xml에서 만든 dfs 폴더 경로 및 권한을 동일하게 지정

hadoop-env.sh에서 만든 HADOOP_PID_DIR 폴더 경로 및 권한을 동일하게 지정

yarn-site.xml에서 만든 yarn 폴더 경로 및 권한을 동일하게 지정

 

지정 후 하둡이 실행되어 있는 상태라면, 설치 된 데이터 노드 서버에 접속하여 datanode 및 nodemanager를 실행합니다.

 

datanode 실행

(하둡 경로)/sbin/hadoop-daemon.sh start datanode

 

nodemanager 실행

(하둡 경로)/sbin/yarn-daemon.sh start nodemanager

 

이후 namenode 서버에 접속하여 node refresh를 진행합니다.

hdfs dfsadmin -refreshNodes

 

datanode 서버에 접속하여 jps 명령어를 통해 잘 실행되었는지 확인합니다.

 

 

datanode 서버

 

 

이후 active 서버로 접속하여 datanode를 확인합니다.

 

 

datanode 정보

 

 

3대의 datanode가 성공적으로 추가 된 것을 알 수 있습니다.