SlideShare a Scribd company logo
Hadoop 클러스터 구성(centos)
- VirtualBox 이용 -
2
1. 개요
INDEX
1.1 필요프로그램
1.1.1 Oracle VirtualBox
1.2.2 CentOS ISO
2. 설치 2.1 CentOS설치
2.1.1 기본설정(이름/운영체제, 메모리, 하드드라이브, 네트워크 )
2.1.2 설치수행/호스트명/시간대/암호설정
2.1.3 네트워크 셋팅 (/etc/sysconfig/ifcfg… ) 정보수정 (예:ifcfg-eth0)
2.2 Hadoop 설치 및 설정
2.2.1 기본정보 수정
2.2.2 SW설치(wget/java/hadoop )
2.2.3 환경변수 설정
3. 클러스터 구성 3.1 CentOS 스냅샷/복제 구성
3.1.1 스냅샷/복제
3.1.2 네트워크 수정 (host명/네트워크인터페이스정보|규칙)
3.2 Hadoop 클러스터 설정
3.2.1 공개키 설치 및 배포와 ssh 호스트정보 생성 및 배포
3.2.2 하둡 설정 (master/slave, namenode 포맷,….)
3.3.3 하둡 실행
3
1.개요-사전체크
1. 개요
Oracle VirtualBox 이용하여 CentOS VM들로 구성된 Hadoop 클러스터 구성
2. 필요 프로그램
2.1 Oracle VirtualBox
2.1.1 설명 : VM(Virtual Machine)을 생성해주는 하이퍼바이저(Hypervisor)
2.1.2 다운 : https://www.virtualbox.org/wiki/Downloads
2.2 CentOS ISO
2.2.1 설명 : CentOS 설치할 - ISO 파일
2.2.2 다운 : http://vault.centos.org/6.5/isos/x86_64/
4
2.1 CentOS 설치
 2.1.1 기본설정 [설치준비]
1. 이름/종류/버전 지정
2. 메모리설정
3. 하드드라이브 신규/기존 선택
4. 하드드라이브 종류 설정
5. 하드최대 설정방법 선정
6. 하드드라이브 위치지정
7. 하드드라이브 크기지정
8. CentOS 얼개가 완성됨.
9. ISO파일 마운트
10. 네트워크카드 추가 (NAT, 호스트 전용)
11. 마운트한 드라이브 선정
12. Install …. 클릭하여 Install 수행
 2.1.2 CentOS설치
1. Install 화면의 오른쪽 하단 Next 클릭
2. 장치종류 선택 “기본 저장 장치”
3. 저장장치 경고창 선택에서 “모든 데이터 삭제…”
4. 시간대 설정
5. 디스크 종류 선택 “기존의 Linux 시스템 교체”
6. 디스크에 저장장치에 설정을 기록 “변경사항기록”
 2.1.3 네트워크 셋팅 및 추가 설정
1. 네트워크 IP설정
2. 방화벽 해제
3. ssh 연결허용 옵션수정(Fast Connect)
5
2.1 CentOS 설치 – 기본설정
[ 1. 이름/종류/버전 지정 ] [ 2. 메모리설정 ]
6
2.1 CentOS 설치 – 기본설정
[ 3. 하드드라이브 종류 ] [ 4. 하드드라이브 신규/기존]
7
2.1 CentOS 설치 – 기본설정
[ 5. 하드최대 설정방법 선정 ] [ 6. 하드위치 지정]
8
2.1 CentOS 설치 – 기본설정
[ 7. 하드드라이브 크기지정] [ 8. 얼개 생성]
CentOS가 얼개
가생성되면서
boot 된다.
9
2.1 CentOS 설치 – 기본설정
[ 9. ISO파일 마운트 ]
10
2.1 CentOS 설치 – 기본설정
[ 10. 네트워크카드 추가 – NAT/호스트전용…] [ 11. 시작 및 install 수행 ]
11
2.1 CentOS 설치 - Install
[ 1. Install 화면의 오른쪽 하단 Next 클릭] [ 2. 장치종류 선택 “기본 저장 장치” ]
12
2.1 CentOS 설치 - Install
[ 3. 저장장치 경고창 선택에서 “모든 데이터 삭제…”] [ 4. 시간대 설정 ]
13
2.1 CentOS 설치 - Install
[ 5. 디스크 종류 선택 “기존의 Linux 시스템 교체”] [ 6. 디스크에 저장장치에 설정을 기록 “변경사항기록”]
14
2.1 CentOS 설치 – 네트워크 설정
 2.1.3 네트워크 셋팅 및 추가 설정
1. 네트워크 IP설정
$cd /etc/sysconfig/network-scripts
$vi ifcfg-eth1  [호스트 전용 네트워크 인터페이스인 경우 ]
$service network restart
2. 방화벽 해제
$iptables -F
$service iptables save
3. ssh 지연 연결 수정
$vi /etc/ssh/sshd_config
GSSAPIAuthentication no  해당 옵션을 no로 설정
UseDNS no  해당 옵션을 no로 설정
$service sshd restart
DEVICE=eth1
TYPE=Ethernet
UUID=3ae30b55-7007-4149-8065-5f53a81ce74a
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=none
HWADDR=08:00:27:0A:BE:80
NETMASK=255.255.255.0
IPADDR=192.168.56.130
15
2.2 Hadoop 설치 및 설정
 2.2 기본정보 및 SW설치
1. 사용자 생성 및 패스워드 설정
2. Java 설치
3. yum 으로 wget install
4. hadoop 설치
5. 환경(PATH, CLASSPATH, HADOOP_HOME)파일에 설정
16
2.2 Hadoop 설치 및 설정
 기본정보 및 SW설치
1. 사용자 생성 및 패스워드 설정
$useradd htest
$passwd htest
2. Java 설치
java download site 접속 (현재 : http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261.html)
linux 버전 1.7 다운로드
~/server에 설치
3. yum 으로 wget install
$yum install wget
4. hadoop 설치 [다운로드참조 site : http://ftp.daumkakao.com/apache/hadoop/common/ ]
# http://ftp.daumkakao.com/apache/hadoop/common/hadoop-1.2.1/
$cd ~/server
$mkdir hadoop
$cd hadoop
$wget http://ftp.daumkakao.com/apache/hadoop/common/hadoop-1.2.1/hadoop-1.2.1.tar.gz
$tar xvzf hadoop-1.2.1.tar.gz
17
2.2 Hadoop 설치 및 설정
 환경설정
$vi .bash_profile
PATH=$PATH:$HOME/bin
#추가항목……
export JAVA_HOME=/home/htest/server/jdk1.7.0_79
PATH=$PATH:$HOME/bin:$JAVA_HOME/bin
export CLASSPATH="."
#HADOOP
export HADOOP_HOME=/home/htest/server/hadoop
PATH=$PATH:$HADOOP_HOME/hadoop-1.2.1/bin:$PATH
HADOOP_HOME_WARN_SUPPRESS=TRUE
export HADOOP_HOME_WARN_SUPPRESS
export PATH
#.................................
18
3.1 CentOS 스냅샷/복제 구성
 3.1.1 스냅샷/복제
1. 전원Off후 오른 마우스 클릭 시 나타난 복제메뉴 클릭
2. 복제방식 선택
3. 스냅샷 방식선택
4. 복제된 VM 확인
 3.1.2 네트워크 수정
1. /etc/sysconfig/network-scripts/ifcfg-eth0 수정
2. /etc/sysconfig/network-scripts/ifcfg-eth1 수정
3. /etc/udev/rules.d/70-persistent-net.rules 삭제
4. reboot후 네트워크 확인 <ifconfig 사용>”
19
3. 스냅샷/복제 구성
[ 1. Off후 오른 마우스 클릭 시 나타난 복제메뉴 클릭] [ 2. 복제방식 선택 ]
20
3. 스냅샷/복제 구성
[ 3. 스냅샷 방식 선택 ] [ 4. 복제된 VM 확인 ]
21
3. 스냅샷/복제 구성 – 네트워크 구성
[ 2. /etc/sysconfig/network-scripts/ifcfg-eth1 수정 ][ 1. /etc/sysconfig/network-scripts/ifcfg-eth0 수정 ]
HWADDR 과 IPADDR부분 수정함
- IP 형식 : 192.168.xxx.xxx
- HWADDR 은 아래 화면 참조
HWADDR 수정함 [ MAC주소임 ]
22
3. 스냅샷/복제 구성 – 네트워크 구성
[ 3. /etc/udev/rules.d/70-persistent-net.rules 삭제 ]
위 파일 삭제하면, rebooting되면 다시 생성함.
$rm /etc/udev/rules.d/70-persistent-net.rules
[ 4. reboot후 네트워크 확인 <ifconfig 사용> ]
$reboot
……………………….
$ifconfig
eth0 Link encap:Ethernet HWaddr 08:00:27:A6:48:9B
inet addr:10.0.2.15 Bcast:10.0.2.255 Mask:255.255.255.0
inet6 addr: fe80::a00:27ff:fea6:489b/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:3 errors:0 dropped:0 overruns:0 frame:0
TX packets:11 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:797 (797.0 b) TX bytes:1008 (1008.0 b)
eth1 Link encap:Ethernet HWaddr 08:00:27:7B:01:6C
inet addr:192.168.56.210 Bcast:192.168.56.255 Mask:255.255.255.0
inet6 addr: fe80::a00:27ff:fe7b:16c/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:104 errors:0 dropped:0 overruns:0 frame:0
TX packets:42 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:10542 (10.2 KiB) TX bytes:5505 (5.3 KiB)
lo Link encap:Local Loopback
……………………………….
23
3. 스냅샷/복제 구성 – 머신 추가 반복 생성
추가로 하나 더 CentOS
복제 구성한다
24
3.2 Hadoop 클러스터 설정
 3.2.1 공개키 및 ssh 구성
1. 각 Host이름 변경 (hadoop1  NameNode, hadoop2  DataNode1, …)
2. 각 Host의 IP등록
3. ssh 공개키 설치/병합/배포
4. ssh 호스트 alias 작성/배포
 3.2.2 하둡 설정
1. 작업 저장소 생성
2. conf/hadoop-env.sh 설정
3. conf/core-site.xml 수정 - [ I/O설정 ]
4. conf/hdfs-site.xml 수정 - [ 네임/보조네임/데이터 노드 설정]
5. conf/mapred-site.xml 수정 - [ 잡트래커/테스크트래커 ]
6. conf/masters와 slaves 설정
7. conf파일 데이터 노드에 복사
8. NameNode 포맷
 3.2.3 하둡 실행
1. $start-all.sh
2. 확인
3. 예제실행
4. 결과 확인
25
3.2 Hadoop 클러스터 설정
 공개키 및 ssh 구성
1. 각 Host이름 변경 <root로 login>
$vi /etc/sysconfig/network
hadoop1  NameNode, hadoop2  DataNode1, hadoop3  DataNode2
2. 각 Host의 IP등록 <root로 login>
$vi /etc/hosts
192.168.56.130 NameNode
192.168.56.210 DataNode1
192.168.56.211 DataNode2
3 각 Host에 ssh 공개키 설치/취합/배포
 각 Host 설치
$ssh-keygen -t rsa
$cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
$chmod 644 ~/.ssh/authorized_keys
 ssh 공개키 취합
$vi ~/.ssh/authorized_keys
#각 Host에 있는 정보를 NameNode의 위 파일 끝에 append한다.
ssh 공개키 배포
$scp -rp ~/.ssh/authorized_keys htest@DataNode1:~/.ssh/authorized_keys
$scp -rp ~/.ssh/authorized_keys htest@DataNode2:~/.ssh/authorized_keys
ssh-rsa
AAAAB3NzaC1yc2EAAAABIwAAAQEAqOrQ4B9ifMU
wE5zHjLFBBGccvLrECl9452219h6ZMMw3JNxsKVOy
xQ/Zc1YphLaRV8efyYNleyCDahNqcvZjoUT0W45h8u
VRnKhrPEgy+jo7+7r79+GrTXoDg/zit9pKQJjW60/wlox
PWiAFPGUamnyytAbuEPMvvWbmehjIxaP1Pd/M73Mt
rgeNjf8HKXlRuRCeI9yZgulepQunkirQj+M0AlExjGeCE
J0vpc+smjEKkOanwK7zUXh06wQdfU7bsTMeNAFLu
mmWEmZhNGnSsxzzYiGjTLiYdHlmAiZonbr/RSo3B8P
j+J8O3PjbRMNIcP3bdYVnkIOWc0HcdMFZ9Q==
htest@NameNode
ssh-rsa
AAAAB3NzaC1yc2EAAAABIwAAAQEApLFFHczjoMtT
5EO3MxZTDGgwG4NSrF58hb3/HTtKGu0n8ZegS4uec
TVQX6h/F03MjAVj4ghCKLzWCQzIebLyF3mtVr3qCx6l
kRDWCWWIfqkDCKO0id0ZlzP2nNBaoE7yLEghhA3Q
d0di00/f0knWNdpME6i6IVCgHGlHu8D7IwKVmf4fLIgZ
LG8z4yEgk3mBcJL7RElGKLTRPtmXdNdMD9/HRuVt
Ybog6fDlmiEzGKfN0idSsLGLgOaNCM8SfBOr3lvBpwc
oasSt5zyylPwumkjqX7d01vlaWUHZAfD6sFFuDL1IbjX
GF3H5n8J4Vqz9FU6yw6OXFigeWxaVcSkfyQ==
htest@DataNode1
26
3.2 Hadoop 클러스터 설정
 공개키 및 ssh 구성
4. SSH 호스트 Alias 설정하기
$touch ~/.ssh/config
$chmod 600 ~/.ssh/config
$vi ~/.ssh/config
#----- 아래사항 기입 --- #
Host NameNode
HostName NameNode
User htest
Host DataNode1
HostName DataNode1
User htest
Host DataNode2
HostName DataNode2
User htest
Host cacti manage
HostName manage.mysomesite.NameNode
HostName manage.mysomesite.DataNode1
HostName manage.mysomesite.DataNode2
Host *
User htest
User htest
User htest
#----- 여기까지 기입 --- #
5. SSH 호스트 Alias 배포
$scp -rp ~/.ssh/config htest@DataNode1:~/.ssh/config
$scp -rp ~/.ssh/config htest@DataNode2:~/.ssh/config
27
3.2 Hadoop 클러스터 설정
 하둡설정
1. 작업 저장소 생성
$cd $HADOOP_HOME
$mkdir HADOOP_DATA_DIR
$cd HADOOP_DATA_DIR
$mkdir name data
$chmod 755 name
$chmod 755 data
2. conf/hadoop-env.sh 설정 <NameNode에서 작업>
$cd $HADOOP_HOME/hadoop.1.2.1/conf
$vi hadoop-env.sh
export JAVA_HOME=/home/htest/server/jdk1.7.0_79
3. conf/core-site.xml 수정 <NameNode에서 작업>
$vi core-site.xml
#<configuration>부분에 아래항목 추가
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
4. conf/mapred-site.xml 수정 <NameNode에서 작업>
# <configuration>부분에 아래항목 추가
<property>
<name>mapred.job.tracker</name>
<value>192.168.56.130:9001</value>
<final>true</final>
</property>
5. conf/hdfs-site.xml 수정 <NameNode에서 작업>
# <configuration>부분에 아래항목 추가
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.name.dir</name>
<value>/home/htest/server/hadoop/HADOOP_DATA_DIR/name</value>
<final>true</final>
</property><property>
<name>dfs.data.dir</name>
<value>/home/htest/server/hadoop/HADOOP_DATA_DIR/data</value>
<final>true</final>
</property>
6. conf/masters와 slaves 설정
$vi $HADOOP_HOME/hadoop-1.2.1/conf/masters
#================================
localhost
DataNode1
#================================
$vi $HADOOP_HOME/hadoop-1.2.1/conf/slaves
#================================
localhost
DataNode1
DataNode2
#================================
28
3.2 Hadoop 클러스터 설정
 하둡설정
7. conf파일 데이터 노드에 복사
$ cd $HADOOP_HOME/hadoop-1.2.1/conf/
$ scp * htest@DataNode1:/home/htest/server/hadoop/hadoop-1.2.1/conf
$ scp * htest@DataNode2:/home/htest/server/hadoop/hadoop-1.2.1/conf
8. namenode format
$cd $HADOOP_HOME
$hadoop namenode -format
29
3.2 Hadoop 클러스터 설정
 하둡실행
1. 하둡 실행
$start-all.sh
2. 확인
$jps
# browser에서
http://NameNodeIP:50030
http://NameNodeIP:50060
3. wordcount 예제
$hadoop fs -mkdir input02
$hadoop fs -ls
$hadoop fs -put $HADOOP_HOME/hadoop-1.2.1/README.txt input02
$hadoop jar $HADOOP_HOME/hadoop-1.2.1/hadoop-examples-1.2.1.jar
wordcount input02 output02
4. 실행결과 확인
$hadoop fs -lsr output02
$hadoop fs -cat output02/part-r-00000
[htest@NameNode~]$ jps
1269 NameNode
1493 SecondaryNameNode
1832 Jps
1577 JobTracker
1689 TaskTracker
1379 DataNode
[htest@NameNode~]$ jps
30
THANK YOU!

More Related Content

PDF
Gluster fs guide(v1.0)
PDF
Rhel7 beta information
PPTX
20170713 tech day_7th_pxe 부팅-김주한
PPTX
PPTX
Cubietruck 리눅스 이미지 설치
PDF
Enterprise Linux 7 new feature_systemd_booting
PDF
Apache Tomcat ( 아파치 톰캣 ) 설치 가이드
PPTX
Wiki academy sysadmin 5_day
Gluster fs guide(v1.0)
Rhel7 beta information
20170713 tech day_7th_pxe 부팅-김주한
Cubietruck 리눅스 이미지 설치
Enterprise Linux 7 new feature_systemd_booting
Apache Tomcat ( 아파치 톰캣 ) 설치 가이드
Wiki academy sysadmin 5_day

What's hot (20)

PDF
망고210 android fastboot nand write 방법
PDF
Enterprise Linux 7 new feature_network configuration
PDF
firewalld concept and configuration
PDF
[오픈소스컨설팅]systemd on RHEL7
PDF
Apache httpd ( 아파치 웹서버 ) 설치 가이드
PDF
JBoss Web Server ( JBoss 웹서버 ) 설치 가이드
PDF
망고210 매뉴얼 2010 12-30
PDF
Solaris 11 network virtualization & Server Virtualization for cloud
PDF
Tensorflow로 플로이드 클라우드에서 합성곱 신경망 (CNN) 구현해보기
PDF
Automation Oracle Solaris 11.3 Administration with puppet for cloud part 1 su...
PDF
Linux Kernel Boot Process , SOSCON 2015, By Mario Cho
PPTX
Ubuntu Host AP Setting
PPTX
리눅스서버세팅-김태호
PDF
Linux Performan tuning Part I
PDF
[오픈소스컨설팅]About RHEL7 systemd
PDF
시스템 관리자를 위한 리눅스강의 1강 20130203
PDF
김성윤 - 우분투로 슈퍼컴 만들기 (2011Y03M26D)
PPTX
Mikrotic CCR1036 라우팅 설정
PPTX
우분투 커널 컴파일
PPTX
Wiznet Academy - WizFi250 기초교육 및 실습
망고210 android fastboot nand write 방법
Enterprise Linux 7 new feature_network configuration
firewalld concept and configuration
[오픈소스컨설팅]systemd on RHEL7
Apache httpd ( 아파치 웹서버 ) 설치 가이드
JBoss Web Server ( JBoss 웹서버 ) 설치 가이드
망고210 매뉴얼 2010 12-30
Solaris 11 network virtualization & Server Virtualization for cloud
Tensorflow로 플로이드 클라우드에서 합성곱 신경망 (CNN) 구현해보기
Automation Oracle Solaris 11.3 Administration with puppet for cloud part 1 su...
Linux Kernel Boot Process , SOSCON 2015, By Mario Cho
Ubuntu Host AP Setting
리눅스서버세팅-김태호
Linux Performan tuning Part I
[오픈소스컨설팅]About RHEL7 systemd
시스템 관리자를 위한 리눅스강의 1강 20130203
김성윤 - 우분투로 슈퍼컴 만들기 (2011Y03M26D)
Mikrotic CCR1036 라우팅 설정
우분투 커널 컴파일
Wiznet Academy - WizFi250 기초교육 및 실습
Ad

Viewers also liked (9)

PDF
1. hadoop 소개
PPTX
hadoop setting yes
PDF
Bog data 설명
PDF
20141029 하둡2.5와 hive설치 및 예제
PPTX
about hadoop yes
PDF
Spark & Zeppelin을 활용한 머신러닝 실전 적용기
PDF
텐서플로 걸음마 (TensorFlow Tutorial)
PPTX
텐서플로우 기초 이해하기
PDF
텐서플로우 설치도 했고 튜토리얼도 봤고 기초 예제도 짜봤다면 TensorFlow KR Meetup 2016
1. hadoop 소개
hadoop setting yes
Bog data 설명
20141029 하둡2.5와 hive설치 및 예제
about hadoop yes
Spark & Zeppelin을 활용한 머신러닝 실전 적용기
텐서플로 걸음마 (TensorFlow Tutorial)
텐서플로우 기초 이해하기
텐서플로우 설치도 했고 튜토리얼도 봤고 기초 예제도 짜봤다면 TensorFlow KR Meetup 2016
Ad

Similar to Hadoopcluster install in_centos_virtualbox (20)

PDF
Build the OpenStack Cloud with Neutron Networing, IceHouse
PDF
한국에서 제일 쉬운 centos7 설치 튜토리얼
PDF
Gluster fs guide(v1.0)
PPTX
Actual PoC guide for Virtual Desktop Infrastructure (Korean)
PDF
OpenStack DevStack Install - 2부 (Multi-nodes)
PPTX
Hadoop security DeView 2014
DOCX
PCF Installation Guide
PPTX
caanoo Ernice
PDF
[오픈소스컨설팅]Nginx jboss 연동가이드__v1
PPTX
Kafka monitoring using Prometheus and Grafana
PDF
Hyperledger fabric practice(pdf)
PDF
Openstack live migration
PDF
Kafka slideshare
PDF
postgres_빌드_및_디버깅.pdf
PDF
Nginx basic configurations
PPTX
Nginx Https 적용하기.pptx
PDF
Java 초보자를 위한 hadoop 설정
PDF
[오픈소스컨설팅]Nginx 1.2.7 설치가이드__v1
PDF
[오픈소스컨설팅]레드햇계열리눅스7 운영자가이드 - 기초편
PDF
Linux ut-broker-install
Build the OpenStack Cloud with Neutron Networing, IceHouse
한국에서 제일 쉬운 centos7 설치 튜토리얼
Gluster fs guide(v1.0)
Actual PoC guide for Virtual Desktop Infrastructure (Korean)
OpenStack DevStack Install - 2부 (Multi-nodes)
Hadoop security DeView 2014
PCF Installation Guide
caanoo Ernice
[오픈소스컨설팅]Nginx jboss 연동가이드__v1
Kafka monitoring using Prometheus and Grafana
Hyperledger fabric practice(pdf)
Openstack live migration
Kafka slideshare
postgres_빌드_및_디버깅.pdf
Nginx basic configurations
Nginx Https 적용하기.pptx
Java 초보자를 위한 hadoop 설정
[오픈소스컨설팅]Nginx 1.2.7 설치가이드__v1
[오픈소스컨설팅]레드햇계열리눅스7 운영자가이드 - 기초편
Linux ut-broker-install

Hadoopcluster install in_centos_virtualbox

  • 2. 2 1. 개요 INDEX 1.1 필요프로그램 1.1.1 Oracle VirtualBox 1.2.2 CentOS ISO 2. 설치 2.1 CentOS설치 2.1.1 기본설정(이름/운영체제, 메모리, 하드드라이브, 네트워크 ) 2.1.2 설치수행/호스트명/시간대/암호설정 2.1.3 네트워크 셋팅 (/etc/sysconfig/ifcfg… ) 정보수정 (예:ifcfg-eth0) 2.2 Hadoop 설치 및 설정 2.2.1 기본정보 수정 2.2.2 SW설치(wget/java/hadoop ) 2.2.3 환경변수 설정 3. 클러스터 구성 3.1 CentOS 스냅샷/복제 구성 3.1.1 스냅샷/복제 3.1.2 네트워크 수정 (host명/네트워크인터페이스정보|규칙) 3.2 Hadoop 클러스터 설정 3.2.1 공개키 설치 및 배포와 ssh 호스트정보 생성 및 배포 3.2.2 하둡 설정 (master/slave, namenode 포맷,….) 3.3.3 하둡 실행
  • 3. 3 1.개요-사전체크 1. 개요 Oracle VirtualBox 이용하여 CentOS VM들로 구성된 Hadoop 클러스터 구성 2. 필요 프로그램 2.1 Oracle VirtualBox 2.1.1 설명 : VM(Virtual Machine)을 생성해주는 하이퍼바이저(Hypervisor) 2.1.2 다운 : https://www.virtualbox.org/wiki/Downloads 2.2 CentOS ISO 2.2.1 설명 : CentOS 설치할 - ISO 파일 2.2.2 다운 : http://vault.centos.org/6.5/isos/x86_64/
  • 4. 4 2.1 CentOS 설치  2.1.1 기본설정 [설치준비] 1. 이름/종류/버전 지정 2. 메모리설정 3. 하드드라이브 신규/기존 선택 4. 하드드라이브 종류 설정 5. 하드최대 설정방법 선정 6. 하드드라이브 위치지정 7. 하드드라이브 크기지정 8. CentOS 얼개가 완성됨. 9. ISO파일 마운트 10. 네트워크카드 추가 (NAT, 호스트 전용) 11. 마운트한 드라이브 선정 12. Install …. 클릭하여 Install 수행  2.1.2 CentOS설치 1. Install 화면의 오른쪽 하단 Next 클릭 2. 장치종류 선택 “기본 저장 장치” 3. 저장장치 경고창 선택에서 “모든 데이터 삭제…” 4. 시간대 설정 5. 디스크 종류 선택 “기존의 Linux 시스템 교체” 6. 디스크에 저장장치에 설정을 기록 “변경사항기록”  2.1.3 네트워크 셋팅 및 추가 설정 1. 네트워크 IP설정 2. 방화벽 해제 3. ssh 연결허용 옵션수정(Fast Connect)
  • 5. 5 2.1 CentOS 설치 – 기본설정 [ 1. 이름/종류/버전 지정 ] [ 2. 메모리설정 ]
  • 6. 6 2.1 CentOS 설치 – 기본설정 [ 3. 하드드라이브 종류 ] [ 4. 하드드라이브 신규/기존]
  • 7. 7 2.1 CentOS 설치 – 기본설정 [ 5. 하드최대 설정방법 선정 ] [ 6. 하드위치 지정]
  • 8. 8 2.1 CentOS 설치 – 기본설정 [ 7. 하드드라이브 크기지정] [ 8. 얼개 생성] CentOS가 얼개 가생성되면서 boot 된다.
  • 9. 9 2.1 CentOS 설치 – 기본설정 [ 9. ISO파일 마운트 ]
  • 10. 10 2.1 CentOS 설치 – 기본설정 [ 10. 네트워크카드 추가 – NAT/호스트전용…] [ 11. 시작 및 install 수행 ]
  • 11. 11 2.1 CentOS 설치 - Install [ 1. Install 화면의 오른쪽 하단 Next 클릭] [ 2. 장치종류 선택 “기본 저장 장치” ]
  • 12. 12 2.1 CentOS 설치 - Install [ 3. 저장장치 경고창 선택에서 “모든 데이터 삭제…”] [ 4. 시간대 설정 ]
  • 13. 13 2.1 CentOS 설치 - Install [ 5. 디스크 종류 선택 “기존의 Linux 시스템 교체”] [ 6. 디스크에 저장장치에 설정을 기록 “변경사항기록”]
  • 14. 14 2.1 CentOS 설치 – 네트워크 설정  2.1.3 네트워크 셋팅 및 추가 설정 1. 네트워크 IP설정 $cd /etc/sysconfig/network-scripts $vi ifcfg-eth1  [호스트 전용 네트워크 인터페이스인 경우 ] $service network restart 2. 방화벽 해제 $iptables -F $service iptables save 3. ssh 지연 연결 수정 $vi /etc/ssh/sshd_config GSSAPIAuthentication no  해당 옵션을 no로 설정 UseDNS no  해당 옵션을 no로 설정 $service sshd restart DEVICE=eth1 TYPE=Ethernet UUID=3ae30b55-7007-4149-8065-5f53a81ce74a ONBOOT=yes NM_CONTROLLED=yes BOOTPROTO=none HWADDR=08:00:27:0A:BE:80 NETMASK=255.255.255.0 IPADDR=192.168.56.130
  • 15. 15 2.2 Hadoop 설치 및 설정  2.2 기본정보 및 SW설치 1. 사용자 생성 및 패스워드 설정 2. Java 설치 3. yum 으로 wget install 4. hadoop 설치 5. 환경(PATH, CLASSPATH, HADOOP_HOME)파일에 설정
  • 16. 16 2.2 Hadoop 설치 및 설정  기본정보 및 SW설치 1. 사용자 생성 및 패스워드 설정 $useradd htest $passwd htest 2. Java 설치 java download site 접속 (현재 : http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261.html) linux 버전 1.7 다운로드 ~/server에 설치 3. yum 으로 wget install $yum install wget 4. hadoop 설치 [다운로드참조 site : http://ftp.daumkakao.com/apache/hadoop/common/ ] # http://ftp.daumkakao.com/apache/hadoop/common/hadoop-1.2.1/ $cd ~/server $mkdir hadoop $cd hadoop $wget http://ftp.daumkakao.com/apache/hadoop/common/hadoop-1.2.1/hadoop-1.2.1.tar.gz $tar xvzf hadoop-1.2.1.tar.gz
  • 17. 17 2.2 Hadoop 설치 및 설정  환경설정 $vi .bash_profile PATH=$PATH:$HOME/bin #추가항목…… export JAVA_HOME=/home/htest/server/jdk1.7.0_79 PATH=$PATH:$HOME/bin:$JAVA_HOME/bin export CLASSPATH="." #HADOOP export HADOOP_HOME=/home/htest/server/hadoop PATH=$PATH:$HADOOP_HOME/hadoop-1.2.1/bin:$PATH HADOOP_HOME_WARN_SUPPRESS=TRUE export HADOOP_HOME_WARN_SUPPRESS export PATH #.................................
  • 18. 18 3.1 CentOS 스냅샷/복제 구성  3.1.1 스냅샷/복제 1. 전원Off후 오른 마우스 클릭 시 나타난 복제메뉴 클릭 2. 복제방식 선택 3. 스냅샷 방식선택 4. 복제된 VM 확인  3.1.2 네트워크 수정 1. /etc/sysconfig/network-scripts/ifcfg-eth0 수정 2. /etc/sysconfig/network-scripts/ifcfg-eth1 수정 3. /etc/udev/rules.d/70-persistent-net.rules 삭제 4. reboot후 네트워크 확인 <ifconfig 사용>”
  • 19. 19 3. 스냅샷/복제 구성 [ 1. Off후 오른 마우스 클릭 시 나타난 복제메뉴 클릭] [ 2. 복제방식 선택 ]
  • 20. 20 3. 스냅샷/복제 구성 [ 3. 스냅샷 방식 선택 ] [ 4. 복제된 VM 확인 ]
  • 21. 21 3. 스냅샷/복제 구성 – 네트워크 구성 [ 2. /etc/sysconfig/network-scripts/ifcfg-eth1 수정 ][ 1. /etc/sysconfig/network-scripts/ifcfg-eth0 수정 ] HWADDR 과 IPADDR부분 수정함 - IP 형식 : 192.168.xxx.xxx - HWADDR 은 아래 화면 참조 HWADDR 수정함 [ MAC주소임 ]
  • 22. 22 3. 스냅샷/복제 구성 – 네트워크 구성 [ 3. /etc/udev/rules.d/70-persistent-net.rules 삭제 ] 위 파일 삭제하면, rebooting되면 다시 생성함. $rm /etc/udev/rules.d/70-persistent-net.rules [ 4. reboot후 네트워크 확인 <ifconfig 사용> ] $reboot ………………………. $ifconfig eth0 Link encap:Ethernet HWaddr 08:00:27:A6:48:9B inet addr:10.0.2.15 Bcast:10.0.2.255 Mask:255.255.255.0 inet6 addr: fe80::a00:27ff:fea6:489b/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:3 errors:0 dropped:0 overruns:0 frame:0 TX packets:11 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:797 (797.0 b) TX bytes:1008 (1008.0 b) eth1 Link encap:Ethernet HWaddr 08:00:27:7B:01:6C inet addr:192.168.56.210 Bcast:192.168.56.255 Mask:255.255.255.0 inet6 addr: fe80::a00:27ff:fe7b:16c/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:104 errors:0 dropped:0 overruns:0 frame:0 TX packets:42 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:10542 (10.2 KiB) TX bytes:5505 (5.3 KiB) lo Link encap:Local Loopback ……………………………….
  • 23. 23 3. 스냅샷/복제 구성 – 머신 추가 반복 생성 추가로 하나 더 CentOS 복제 구성한다
  • 24. 24 3.2 Hadoop 클러스터 설정  3.2.1 공개키 및 ssh 구성 1. 각 Host이름 변경 (hadoop1  NameNode, hadoop2  DataNode1, …) 2. 각 Host의 IP등록 3. ssh 공개키 설치/병합/배포 4. ssh 호스트 alias 작성/배포  3.2.2 하둡 설정 1. 작업 저장소 생성 2. conf/hadoop-env.sh 설정 3. conf/core-site.xml 수정 - [ I/O설정 ] 4. conf/hdfs-site.xml 수정 - [ 네임/보조네임/데이터 노드 설정] 5. conf/mapred-site.xml 수정 - [ 잡트래커/테스크트래커 ] 6. conf/masters와 slaves 설정 7. conf파일 데이터 노드에 복사 8. NameNode 포맷  3.2.3 하둡 실행 1. $start-all.sh 2. 확인 3. 예제실행 4. 결과 확인
  • 25. 25 3.2 Hadoop 클러스터 설정  공개키 및 ssh 구성 1. 각 Host이름 변경 <root로 login> $vi /etc/sysconfig/network hadoop1  NameNode, hadoop2  DataNode1, hadoop3  DataNode2 2. 각 Host의 IP등록 <root로 login> $vi /etc/hosts 192.168.56.130 NameNode 192.168.56.210 DataNode1 192.168.56.211 DataNode2 3 각 Host에 ssh 공개키 설치/취합/배포  각 Host 설치 $ssh-keygen -t rsa $cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys $chmod 644 ~/.ssh/authorized_keys  ssh 공개키 취합 $vi ~/.ssh/authorized_keys #각 Host에 있는 정보를 NameNode의 위 파일 끝에 append한다. ssh 공개키 배포 $scp -rp ~/.ssh/authorized_keys htest@DataNode1:~/.ssh/authorized_keys $scp -rp ~/.ssh/authorized_keys htest@DataNode2:~/.ssh/authorized_keys ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAqOrQ4B9ifMU wE5zHjLFBBGccvLrECl9452219h6ZMMw3JNxsKVOy xQ/Zc1YphLaRV8efyYNleyCDahNqcvZjoUT0W45h8u VRnKhrPEgy+jo7+7r79+GrTXoDg/zit9pKQJjW60/wlox PWiAFPGUamnyytAbuEPMvvWbmehjIxaP1Pd/M73Mt rgeNjf8HKXlRuRCeI9yZgulepQunkirQj+M0AlExjGeCE J0vpc+smjEKkOanwK7zUXh06wQdfU7bsTMeNAFLu mmWEmZhNGnSsxzzYiGjTLiYdHlmAiZonbr/RSo3B8P j+J8O3PjbRMNIcP3bdYVnkIOWc0HcdMFZ9Q== htest@NameNode ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEApLFFHczjoMtT 5EO3MxZTDGgwG4NSrF58hb3/HTtKGu0n8ZegS4uec TVQX6h/F03MjAVj4ghCKLzWCQzIebLyF3mtVr3qCx6l kRDWCWWIfqkDCKO0id0ZlzP2nNBaoE7yLEghhA3Q d0di00/f0knWNdpME6i6IVCgHGlHu8D7IwKVmf4fLIgZ LG8z4yEgk3mBcJL7RElGKLTRPtmXdNdMD9/HRuVt Ybog6fDlmiEzGKfN0idSsLGLgOaNCM8SfBOr3lvBpwc oasSt5zyylPwumkjqX7d01vlaWUHZAfD6sFFuDL1IbjX GF3H5n8J4Vqz9FU6yw6OXFigeWxaVcSkfyQ== htest@DataNode1
  • 26. 26 3.2 Hadoop 클러스터 설정  공개키 및 ssh 구성 4. SSH 호스트 Alias 설정하기 $touch ~/.ssh/config $chmod 600 ~/.ssh/config $vi ~/.ssh/config #----- 아래사항 기입 --- # Host NameNode HostName NameNode User htest Host DataNode1 HostName DataNode1 User htest Host DataNode2 HostName DataNode2 User htest Host cacti manage HostName manage.mysomesite.NameNode HostName manage.mysomesite.DataNode1 HostName manage.mysomesite.DataNode2 Host * User htest User htest User htest #----- 여기까지 기입 --- # 5. SSH 호스트 Alias 배포 $scp -rp ~/.ssh/config htest@DataNode1:~/.ssh/config $scp -rp ~/.ssh/config htest@DataNode2:~/.ssh/config
  • 27. 27 3.2 Hadoop 클러스터 설정  하둡설정 1. 작업 저장소 생성 $cd $HADOOP_HOME $mkdir HADOOP_DATA_DIR $cd HADOOP_DATA_DIR $mkdir name data $chmod 755 name $chmod 755 data 2. conf/hadoop-env.sh 설정 <NameNode에서 작업> $cd $HADOOP_HOME/hadoop.1.2.1/conf $vi hadoop-env.sh export JAVA_HOME=/home/htest/server/jdk1.7.0_79 3. conf/core-site.xml 수정 <NameNode에서 작업> $vi core-site.xml #<configuration>부분에 아래항목 추가 <property> <name>fs.default.name</name> <value>hdfs://localhost:9000</value> </property> 4. conf/mapred-site.xml 수정 <NameNode에서 작업> # <configuration>부분에 아래항목 추가 <property> <name>mapred.job.tracker</name> <value>192.168.56.130:9001</value> <final>true</final> </property> 5. conf/hdfs-site.xml 수정 <NameNode에서 작업> # <configuration>부분에 아래항목 추가 <property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>dfs.name.dir</name> <value>/home/htest/server/hadoop/HADOOP_DATA_DIR/name</value> <final>true</final> </property><property> <name>dfs.data.dir</name> <value>/home/htest/server/hadoop/HADOOP_DATA_DIR/data</value> <final>true</final> </property> 6. conf/masters와 slaves 설정 $vi $HADOOP_HOME/hadoop-1.2.1/conf/masters #================================ localhost DataNode1 #================================ $vi $HADOOP_HOME/hadoop-1.2.1/conf/slaves #================================ localhost DataNode1 DataNode2 #================================
  • 28. 28 3.2 Hadoop 클러스터 설정  하둡설정 7. conf파일 데이터 노드에 복사 $ cd $HADOOP_HOME/hadoop-1.2.1/conf/ $ scp * htest@DataNode1:/home/htest/server/hadoop/hadoop-1.2.1/conf $ scp * htest@DataNode2:/home/htest/server/hadoop/hadoop-1.2.1/conf 8. namenode format $cd $HADOOP_HOME $hadoop namenode -format
  • 29. 29 3.2 Hadoop 클러스터 설정  하둡실행 1. 하둡 실행 $start-all.sh 2. 확인 $jps # browser에서 http://NameNodeIP:50030 http://NameNodeIP:50060 3. wordcount 예제 $hadoop fs -mkdir input02 $hadoop fs -ls $hadoop fs -put $HADOOP_HOME/hadoop-1.2.1/README.txt input02 $hadoop jar $HADOOP_HOME/hadoop-1.2.1/hadoop-examples-1.2.1.jar wordcount input02 output02 4. 실행결과 확인 $hadoop fs -lsr output02 $hadoop fs -cat output02/part-r-00000 [htest@NameNode~]$ jps 1269 NameNode 1493 SecondaryNameNode 1832 Jps 1577 JobTracker 1689 TaskTracker 1379 DataNode [htest@NameNode~]$ jps