* 본 가이드는 필요 파일과 이전 포스팅까지 작업이 완료되었다는 가정하에 진행
주요 스펙
호스트OS - windows10 home
게스트OS들 - centOS7
Hadoop - 3.1.0
Zookeeper - 3.4.10
jdk - 1.8.0_191
MobaXterm을 활용하여 ssh원격 접속 후 작업 진행
호스트OS는 공유기(WI-FI) 연결 환경
서버 6대를 활용한 하둡 HA 구성:
nn01: 액티브 네임노드, 저널노드 역할
rm01: 스탠바이 네임노드, 리소스 매니저, 저널노드 역할
jn01: 저널노드 역할
dn01: 데이터 노드 역할
dn02: 데이터 노드 역할
dn03: 데이터 노드 역할
실행 환경:
Action Server: 명령을 수행할 서버(hostname)
User: 명령을 수행할 계정
Pwd: 명령을 수행할 경로
지난 포스팅까지의 과정들로 하둡 고가용성(HA)모드 클러스터를 구축하였습니다.
이번 시간엔 구축된 하둡의 맵리듀스(mapreduce)로 워드카운트 예제를 진행해보도록 하겠습니다.
주키퍼(zookeeper) 서버 실행 (실행 중이라면 skip)
Action Server: nn01, rm01, jn01
User: zookeeper
Pwd: /home/zookeeper
# 경로 이동
cd zookeeper-3.4.10
# 주키퍼 서버 실행
./bin/zkServer.sh start
하둡 클러스터(hadoop cluster)실행 시 (실행 중이라면 skip)
* 실행 서버 / 설명
# nn01, rm01, jn01 / 저널노드 실행
./bin/hdfs --daemon start journalnode
# nn01 / 액티브 네임노드 실행
./bin/hdfs --daemon start namenode
# nn01 액티브 네임노드용 주키퍼 장애 컨트롤러 실행
./bin/hdfs --daemon start zkfc
# nn01 데이터 노드 실행
./sbin/hadoop-daemons.sh start datanode
# rm01 / 스탠바이 네임노드 실행
./bin/hdfs --daemon start namenode
# rm01 / 스탠바이 네임노드용 주키퍼 장애 컨트롤러 실행
./bin/hdfs --daemon start zkfc
# rm01 / 얀 클러스터 실행
./sbin/start-yarn.sh
* 위 실행 과정은 하둡 클러스터 설치 후 최초 1회 실행을 마치고 두 번째 이상 실행부터 적용되는 실행순서이다.
최초 실행 시에는 format하는 과정이 있으므로 만약 하둡 설치 후 최초 서버 실행이라면 아래 링크를 참조
developer-woong.tistory.com/22
각 하둡 계정의 실행 서버 확인 (Jps확인)
Action Server: all
User: hadoop
Pwd: /home/hadoop/hadoop-3.1.0
# 실행 중인 서버 확인
jps
nn01
rm01
jn01
dn01
dn02
dn03
HDFS 디렉토리 생성 및 파일 추가
* 하둡 설정 파일 중 하나인 hadoop-env.sh를 워드카운트 예제에 사용
Action Server: nn01
User: hadoop
Pwd: /home/hadoop
# hdfs 상의 루트 디렉토리 조회
hdfs dfs -ls /
# /user 디렉토리 생성
hdfs dfs -mkdir /user
# /user 디렉토리 하위에 /hadoop 디렉토리 생성
hdfs dfs -mkdir /user/hadoop
# /user/hadoop 디렉토리 하위에 /conf 디렉토리 생성
hdfs dfs -mkdir /user/hadoop/conf
# 워드카운트 예제에 사용할 hadoop-env.sh 파일을 HDFS의 /user/hadoop/conf 디렉토리로 이동
hdfs dfs -put /home/hadoop/hadoop-3.1.0/etc/hadoop/hadoop-env.sh /user/hadoop/conf/
# 파일 이동 확인
hdfs dfs -ls /user/hadoop/conf
맵리듀스(MapReduce) 확인
Action Server: nn01
User: hadoop
Pwd: /home/hadoop
# wordcount 실행
# yarn jar [jar파일 경로] wordcount [워드카운트를 실행할 파일이 위치한 폴더명] [워드카운트 결과를 저장할 폴더명]
yarn jar /home/hadoop/hadoop-3.1.0/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.0.jar
wordcount conf output
# wordcount 결과 파일 생성 조회
hdfs dfs -ls /user/hadoop/output/
워드카운트(WordCount) 확인
Action Server: nn01
User: hadoop
Pwd: /home/hadoop
# wordcount 결과 확인 (파일의 단어 갯수)
hdfs dfs -cat /user/hadoop/output/part-r-00000
하둡 클러스터(hadoop cluster)종료
주의!
1. 차례대로 실행한다.
2. 종료는 실행의 역순으로 진행
3. 마찬가지로 명령어마다 실행 서버가 다르므로 설명 참고!
# rm01, 얀 클러스터 종료
./sbin/stop-yarn.sh
# rm01, 스탠바이 네임노드용 주키퍼 장애 컨트롤러 종료
./bin/hdfs --daemon stop zkfc
# rm01, 스탠바이 네임노드 종료
./bin/hdfs --daemon stop namenode
# nn01, 전체 데이터 노드 종료 daemons s 꼭 붙이기
./sbin/hadoop-daemons.sh stop datanode
# nn01, 액티브 네임노드용 주키퍼 장애 컨트롤러 종료
./bin/hdfs --daemon stop zkfc
# nn01, 액티브 네임노드 종료
./bin/hdfs --daemon stop namenode
# nn01, rm01, jn01 각 저널노드 종료)
./bin/hdfs --daemon stop journalnode
주키퍼(zookeeper) 서버 종료
Action Server: nn01, rm01, jn01
User: zookeeper
Pwd: /home/zookeeper
./bin/zkServer.sh stop
이 것으로 서버 6대를 활용한 하둡 고가용성(HA) 모드 클러스터를 구축하고 워드카운트 예제까지 실행하며 정상 동작하는 것을 확인하였습니다!!
앞으로는 NIFI, HIVE등의 하둡에 밀접한 관계를 가진 프레임워크 혹은 프로그램들과 연동하며 효율적인 빅데이터 활용을 위해 공부해나가는 포스팅을 하도록 하겠습니다.
긴 글 읽어주셔서 너무나도 감사드리고 하둡 설치 가이드 중 잘못 설명되어있다면 피드백은 언제나 감사드리고
에러가 나타난다면 함께 해결해나가도록 하겠습니다!! 너무 감사드립니다 ㅎㅎㅎ
'BigData > Hadoop' 카테고리의 다른 글
Yarn timelineserver 설정 (0) | 2023.07.26 |
---|---|
hadoop 설치 (정리모음버전) (2) | 2023.07.21 |
(하둡 설치) ep09_하둡(hadoop) 실행과 종료, 트러블 슈팅 (2) | 2021.02.25 |
(하둡 설치) ep08_하둡(hadoop)설치 및 환경 설정 (0) | 2021.02.25 |
(하둡 설치) ep07_주키퍼(zookeeper)설치, 환경 설정 및 실행 (0) | 2021.02.25 |