Hadoop 2.완전 분산 처리
목차 클러스터 명세 클러스터 설정 및 설치 SSH설치 하둡 환경설정 얀 환경설정 보안 하둡 클러스터 벤치마킹 하둡 클라우드
1.준비 Centos6.5 Jdk1.7 Hadoop1.2.1 eclipse
1.준비 하둡 테스트 환경 구성 정보 호스트 파일 수정(클러스터 그룹 내용 통일) vi ^ /etc/hosts 호스트명 하둡설치내용 NIL~ 네임노드 보조네임노드,데이터노드 데이터노드
1.준비 Ssh 키 생성 ? : SSH 프로토콜을 이용해 하둡 클러스터 간의 내부 통신을 수행한다 ssh-keygen ^ –t ^ rsa (입력 후 모두 엔터)
1.준비 Ssh 공개키 전송 ssh-copy-id ^ –i ^ root@호스트명 모든 데이터노드호스트에게 공개키 전달 네임노드 기준으로 (클러스터내의 모든 데이터노드에게 전송)
2.환경설정 하둡 환경설정 파일명 용도 Hadoop-env.sh Masters Slaves Core-site.xml 하둡을 실행하는 셸스크립트파일에서 필요한 환경변수 설정 Masters 보조네임노드 설정 Slaves 데이터노드 설정 Core-site.xml Hdfs와 맵리듀스의 공통 환경 Hdfs-site.xml Hdfs에서 필요한 환경정보 Mapred-site.xml 맵리듀스에서 필요한 환경정보
2.환경설정 Matsers Slaves 보조네임노드 호스트명(위치: $HADOOP_HOME/conf/masters) 데이터노드 호스트명(위치 : $HADOOP_HOME/conf/slaves)
2.환경설정 Core-site.xml Hdfs,맵리듀스 공통설정(위치: $HADOOP_HOME/conf/core-site.xml) (hdfs의 기본이름)
2.환경설정 Hdfs-site.xml Hdfs 환경설정(위치 : $HADOOP_HOME/conf/hdfs-site.xml) dfs.replication = 데이터의 복제 개수 *1인 경우 가상분산모드 dfs.http.address = 네임노드용 웹서버 의주소값 dfs.secondary.http.address = 보조네임노드용 웹서버의 주소값
2.환경 설정 Mapred-site.xml 맵리듀스 환경설정 mapred.job.tracker : 잡트래커의 주소
2.환경설정 하둡 디렉토리 복사를 위한 tar 압축 Cd ^ /usr/local tar ^ cvzf ^ hadoop.tar.gz ^ hadoop-1.2.1 결과
2.환경설정 하둡디렉토리를 데이터노드들에게 복사 scp [원본경로] [서버계정@호스트명:디렉토리] scp ^ hadoop.tar.gz ^ root@호스트명:/usr/local/ 모든 데이터노드들에 복사
2.환경설정 각 쉘에 접속하여 압축해제 모든데이터 노드에게 ssh를 이용하여 명령입력 ssh ^ 호스트명 “cd ^ /usr/local; tar ^ xvzf ^ hadoop.tar.gz; rm ^ hadoop.tar.gz”
3.실행 방화벽 서비스 정지 네임노드 초기화 service ^ iptables ^ stop chkconfig ^ iptables ^ off 네임노드 초기화 hadoop ^ namenode ^ -format
3.실행 하둡 완전분산모드 시작 start-all.sh Namenode 확인 Secondary namenode 확인
3.실행 워드 카운트 실행 cd ^ $HADOOP_HOME hadoop ^ fs ^ -put ^ conf/hadoop-env.sh ^ conf/hadoop-env.sh hadoop ^ jar ^ hadoop-examples-1.2.1.jar ^ wordcount ^ conf/hadoop-env.sh ^ wordcount_output
3.실행 결과 확인 hadoop ^ fs ^ -cat ^ wordcount_output/part-r-00000
4.이클립스 활용 데이터 다운로드 http://stat-computing.org/dataexpo/2009/ 접속 후 2008년 다운로드
4.이클립스 활용 데이터 이동 $HADOOP_HOME 에 source 디렉토리 생성 cd ^ /root/다운로드/ mv ^ 2008.csv.bz2 ^ /usr/local/source/ cd ^ $HADOOP_HOME/source/ bzip2 ^ -d ^ 2008.csv.bz2 입력 후 대기 hadoop ^ fs ^ -put ^ 2008.csv ^ input/
4.이클립스 활용 이클립스 실행 cd ^ /usr/local/eclipse ./eclipse 소스코드 다운로드
4.이클립스 활용 jar파일로 export (1) 프로젝트 오른쪽클릭 -> export
4.이클립스 활용 jar파일로 export (2) Browse 클릭
4.이클립스 활용 jar파일로 export (3) 이름 입력 후 hadoop-1.2.1/example_jar/chap5에 생성 디렉토리가 없다면 만들어 준다.
4.이클립스 활용 jar파일로 export (4) Finish 클릭
4.이클립스 활용 하둡 실행 cd ^ $HADOOP_HOME hadoop ^ jar ^ /example_jar/chap5/ DepartureDelayCount.jar ^ DepartureDelayCount ^ input/ ^ dep_delay_count
4.이클립스 활용 결과 hadoop ^ fs ^ -cat ^ dep_delay_count/part-r-00000