본문 바로가기
기타 도서 리뷰/시작하세요 하둡 프로그래밍

설치과정 - 시작하세요 하둡프로그래밍 2장 - 데이터노드 추가하기(3PC, 4PC)

by java개발자 2016. 12. 6.

일단 2PC(네임노드, 데이터노드)로 구성해 놓고, 

데이터 노드를 2개 추가하려면 어떻게 해야 하나?


1PC에서 기본 세팅을 변경해놓고,

2PC에는 conf만 복사하고

3,4PC에는 전체 복사를 하면 되지 않을까?


----------------------------------------------------------------------------------


5 SSH 설정(1PC에서만)

대부분의 동일한 작업을 한번에 하기 위해 일단 SSH 작업을 해놓고,,

1PC에서

hadoop > ssh-copy-id -i /home/hadoop/.ssh/id_rsa.pub hadoop@wikibooks03

hadoop > ssh-copy-id -i /home/hadoop/.ssh/id_rsa.pub hadoop@wikibooks04


2 호스트파일 변경(1,2,3,4PC)

vi /etc/hosts

192.168.0.7 wikibooks01

192.168.0.8 wikibooks02

192.168.0.9 wikibooks03

192.168.0.10 wikibooks04

전송

scp /etc/hosts hadoop@wikibooks03:/etc/

> /etc/hosts는 root권한이라서, root계정별로 다시 SSH를 만들것인가? 이건 그냥 각각 해야겠다.


4 java 복사(3,4PC)


6 하둡 설치(1,2,3,4PC)

1PC는 설정변경

2PC는 변경된 설정 적용

3,4PC는 설치(1PC에서 복사)


1,2 PC  >>>>>>

vi hadoop/conf/slaves

wikibooks02

wikibooks03

wikibooks04


vi hadoop/conf/hdfs-site.xml 

(1에서 3으로 변경)

<property>

<name>dfs.replication</name>

<value>3</value>

</property>


3,4PC에 전송

tar -cvf hadoop.tar.gz hadoop-1.2.1

scp hadoop.tar.gz hadoop@wikibooks03:/home/hadoop

scp hadoop.tar.gz hadoop@wikibooks04:/home/hadoop


ssh hadoop@wikibooks03 "cd /home/hadoop; tar xvf hadoop.tar.gz; rm hadoop.tar.gz"

ssh hadoop@wikibooks03 "ln -s hadoop-1.2.1 hadoop"

ssh hadoop@wikibooks04 "cd /home/hadoop; tar xvf hadoop.tar.gz; rm hadoop.tar.gz"

ssh hadoop@wikibooks04 "ln -s hadoop-1.2.1 hadoop"


//정상적인 로그(로그 순서는 상관없음)

[hadoop@wikibooks01 hadoop]$ ./bin/start-all.sh

starting namenode, logging to /home/hadoop/hadoop-1.2.1/libexec/../logs/hadoop-hadoop-namenode-wikibooks01.out

starting jobtracker, logging to /home/hadoop/hadoop-1.2.1/libexec/../logs/hadoop-hadoop-jobtracker-wikibooks01.out


wikibooks02: starting secondarynamenode, logging to /home/hadoop/hadoop-1.2.1/libexec/../logs/hadoop-hadoop-secondarynamenode-wikibooks02.out

wikibooks02: starting tasktracker, logging to /home/hadoop/hadoop-1.2.1/libexec/../logs/hadoop-hadoop-tasktracker-wikibooks02.out

wikibooks02: starting datanode, logging to /home/hadoop/hadoop-1.2.1/libexec/../logs/hadoop-hadoop-datanode-wikibooks02.out


wikibooks03: starting tasktracker, logging to /home/hadoop/hadoop-1.2.1/libexec/../logs/hadoop-hadoop-tasktracker-wikibooks03.out

wikibooks03: starting datanode, logging to /home/hadoop/hadoop-1.2.1/libexec/../logs/hadoop-hadoop-datanode-wikibooks03.out


wikibooks04: starting tasktracker, logging to /home/hadoop/hadoop-1.2.1/libexec/../logs/hadoop-hadoop-tasktracker-wikibooks04.out

wikibooks04: starting datanode, logging to /home/hadoop/hadoop-1.2.1/libexec/../logs/hadoop-hadoop-datanode-wikibooks04.out





> 데이터노드를 추가할때, 다른 방법이 있을까??


1PC를 모두 압축해서 보내려니, 기존의 log파일들도 같이 가게 되는 문제;;

그런데,

위의 보는 바와 같이, PC1에는 데이터노드는 없었으므로, PC3,4에 블럭이 동기화되지는 않은 듯 하다.


> 훔.. 4개의 PC를 제어하려고 하니,,,, 오픈스택을 배워야 하나 싶다.