성능 향상을 위해 2개의 PC를 더 추가한다
1PC : 네임노드
2PC : 보조네임노드, 데이터노드
3PC : 데이터노드
4PC : 데이터노드
5PC : 데이터노드
6PC : 데이터노드
----------------------------------------------------------------------------------
2 호스트파일 변경(1,2,3,4,5,6PC)
vi /etc/hosts
192.168.0.7 wikibooks01
192.168.0.8 wikibooks02
192.168.0.9 wikibooks03
192.168.0.10 wikibooks04
192.168.0.11 wikibooks05
192.168.0.12 wikibooks06
5 SSH 설정(1PC에서만)
1PC에서
hadoop > ssh-copy-id -i /home/hadoop/.ssh/id_rsa.pub hadoop@wikibooks05
hadoop > ssh-copy-id -i /home/hadoop/.ssh/id_rsa.pub hadoop@wikibooks06
4 java 복사(3,4PC)
6 하둡 설치(1,2,3,4PC)
1PC는 설정변경
2PC는 변경된 설정 적용
3,4PC는 설치(1PC에서 복사)
1,2 PC >>>>>>
vi hadoop/conf/slaves
wikibooks02
wikibooks03
wikibooks04
wikibooks05
wikibooks06
vi hadoop/conf/hdfs-site.xml
(1에서 3으로 변경)
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
5,6PC에 전송
tar -cvf hadoop.tar.gz hadoop-1.2.1
scp hadoop.tar.gz hadoop@wikibooks05:/home/hadoop
scp hadoop.tar.gz hadoop@wikibooks06:/home/hadoop
ssh hadoop@wikibooks05 "cd /home/hadoop; tar xvf hadoop.tar.gz; rm hadoop.tar.gz"
ssh hadoop@wikibooks05 "ln -s hadoop-1.2.1 hadoop"
ssh hadoop@wikibooks06 "cd /home/hadoop; tar xvf hadoop.tar.gz; rm hadoop.tar.gz"
ssh hadoop@wikibooks06 "ln -s hadoop-1.2.1 hadoop"
----------------------------------------------------------------------------------------------------------------------------------------------------------------
이제 5장의 실습을 계속해보자.
일단 5PC, 6PC에는 기존에 업로드한 hdfs 블럭이 없는 상태에서
맵리듀스를 작동했을때, 작동하냐는 의문이 생긴다.
<실행>
[hadoop@wikibooks01 hadoop]$ ./bin/hadoop jar hadoop-beginner-examples-1.0.jar wikibooks.hadoop.chapter05.DepartureDelayCount input dep_delay_count3
(15분 소요) - 2개의 PC를 더 추가했는데, 오히려 시간이 증가했다. 음... virtualbox 의 한계인가???
(아니면 5PC, 6PC에는 hdfs 블럭이 존재하지 않아서, 데이터를 가져오는데 시간이 걸린 걸까?)
---
5장 테스트 비교해보기!! (지금까지의 히스토리는 여기서 확인 가능
http://wikibooks01:50030/jobhistoryhome.jsp
소요시간 |
hdfs 블럭 복사 위치 |
데이터노드 PC |
17분 |
input |
2,3,4PC |
29분 |
input2 |
2,3,4,5,6PC |
|
|
|
|
|
|
구분 |
블럭위치 | Job Id |
Name |
Map - Successful tasks |
Map - Killed tasks |
Rack-local map tasks |
| 결과저장 |
4개PC, 각1코어 |
input | DepartureDelayCount |
187 |
3 |
0 |
11분 | dep_delay_count | |
4개PC, 각2코어 |
input | DepartureDelayCount |
187 |
2 |
0 |
10분 | dep_delay_count2 | |
6개PC, 각1코어 |
input | DepartureDelayCount |
187 |
4 |
57 |
15분 | dep_delay_count3 | |
6개PC, 각1코어 |
input2 | DepartureDelayCount |
187 |
6 |
61 |
12분 | dep_delay_count4 | |
|
|
|
|
|
|
| ||
> Rack-local map tasks 의 정체는 뭘까??
// input2 폴더를 이용해서 다시 해보자
[hadoop@wikibooks01 hadoop]$ ./bin/hadoop jar hadoop-beginner-examples-1.0.jar wikibooks.hadoop.chapter05.DepartureDelayCount input dep_delay_count4
(12분 소요) - 큰 차이는 없다...
그런데,,
왜 맵리듀스가 모두 완료하였는데,
메모리 할당된 것이 제거되지 않는가???
>>
>>
[9장 하둡 운영] 에 데이터노드 추가하는 방법이 있다. 이 부분을 참고하자!!
또한 성능을 향상시키기 위해서, 데이터 압축이라든지, 태스트개수, 투기적인 태스크 유무도 고려 필요!!
'기타 도서 리뷰 > 시작하세요 하둡 프로그래밍' 카테고리의 다른 글
시작하세요 하둡 프로그래밍 17,18,19 하이브, 스쿱, 타조 (0) | 2016.12.08 |
---|---|
시작하세요 하둡 프로그래밍 9장 하둡 운영 (0) | 2016.12.08 |
시작하세요 하둡프로그래밍 5장 (0) | 2016.12.06 |
시작하세요 하둡프로그래밍 4장 (0) | 2016.12.06 |
설치과정 - 시작하세요 하둡프로그래밍 2장 - 데이터노드 추가하기(3PC, 4PC) (0) | 2016.12.06 |