하둡 실행
하둡을 실행하기 위해서는 앞서 했던 설정파일들을 오타 없이 잘 작성하셔야 합니다.
(저는 한글자 오타 때문에 고생을 많이 했습니다.)
무언가 실행이 잘 되지 않을때는 꼭 로그파일들을 확인하시기 바랍니다.
하둡을 실행하기 위한 프로세스는 다음과 같습니다:
- 주키퍼 포맷
- 3개의 저널노드 실행
- Active 네임노드 실행
- Standby 네임노드 실행
- 주키퍼 장애 컨트롤러 (zkfc)실행
- 데이터노드 실행
- 얀 클러스터 실행
- 히스토리서버 실행
alias등록
먼저 하둡 실행 및 운영을 위해 미리 편리한 alias들을 등록해두겠습니다.
.bashrc 파일을 열어 다음과같은 alias들을 등록해줍니다.
alias hadoop="~/hadoop/sbin/hadoop-daemon.sh"
alias hdfs="~/hadoop/bin/hdfs"
alias yarn="~/hadoop/bin/yarn"
그리고 source .bashrc 커맨드를 이용해 alias들을 적용해줍니다.
주키퍼 포맷
먼저 하둡을 실행하기 위해서는 주키퍼를 초기화 해주어야 합니다.
doop01기기에서 다음 커맨드로 먼저 주키퍼를 포맷해주겠습니다.
> hdfs zkfc -formatZK
저널노드
이제 doop01부터 doop03까지 저널노드를 설정한 기기들에서
각각 저널노드를 시작해주도록 하겠습니다.
위의 .bashrc파일을 각 기기에 설정해주셨다면 (혹은 scp로 전송해주셨다면)
아래의 커맨드로 실행이 가능합니다.
> hadoop start journalnode
Active 네임노드 실행
이제 Main이 되는 Active 네임노드를 실행하도록 하겠습니다.
doop01기기에서 다음 커맨드를 사용해 먼저 hdfs를 포맷(초기화)해줍니다.
> hdfs namenode -format
그리고 Active 네임노드를 실행합니다.
> hadoop start namenode
Stanby 네임노드 실행
이제 대기중인 Standby 네임노드를 실행합니다.
먼저 doop02기기에서 아래 커맨드를 사용해 active네임노드의 메타데이터를 복사해옵니다.
> hdfs namenode -bootstrabStandby
이 커맨드가 성공하면 다음과 같은 로그가 나옵니다.
(ip는 제가 임의로 수정해주었습니다. 실제로는 doop01의 ip가 나와야합니다.)
=====================================================
About to bootstrap Standby ID nn2 from:
Nameservice ID: doop-cluster
Other Namenode ID: nn1
Other NN's HTTP address: http://doop01:50070
Other NN's IPC address: doop01/192.168.1.1:8020
Namespace ID: 655142388
Block pool ID: BP-1145003703-192.168.1.1-1563595795113
Cluster ID: CID-339cb533-996b-4497-9b48-dd7749f351f1
Layout version: -63
isUpgradeFinalized: true
=====================================================
포맷이 완료되면 standby네임노드를 실행합니다.
> hadoop start namenode
주키퍼 장애 컨트롤러 (zkfc)실행
이제 네임노드의 각 장비 doop01~02에서 zkfc를 실행해줍니다.
지난 포스팅에서 언급하였지만, 주키퍼가 Active 네임노드의 장애여부를 판단하고,
장애가 발생하였을 때 Standby네임노드를 Active로 바꿔줍니다.
> hadoop start zkfc
데이터 노드 실행
이제 Active 네임노드 서버에서 데이터노드들을 실행해줍니다.
각 기기 doop01~04에서 아래 커맨드를 실행합니다.
> hadoop start datanode
alias 추가
나머지 서버 실행을 위해 추가적인 alias를 doop01기기에만 적용해주었습니다.
alias yarn-start="~/hadoop/sbin/start-yarn.sh"
alias yarn-stop="~/hadoop/sbin/stop-yarn.sh"
alias hadoop-history="~/hadoop/sbin/mr-jobhistory-daemon.sh"
yarn실행
doop01서버에서 얀 클러스터를 실행합니다.
바로 위의 추가 alias를 등록하셨다면 아래를 바로 실행하시면 됩니다.
> yarn-start
히스토리 서버
히스토리 서버는 맵리듀스 작업의 히스토리를 기록해놓는 서버입니다.
doop01과 doop02서버에서 이를 시작해주면 설치가 끝이 납니다.
> hadoop-history start historyserver
서버 구동 확인
이제 각 서버들이 잘 구동중인지 확인하겠습니다.
doop01과 doop02에서 jps를 실행하면 다음과같이 총 8줄의 로그가 나와야합니다.
(프로세스 번호와 순서는 다를 수 있습니다.)
1457 NodeManager
1960 JobHistoryServer
1258 DataNode
1068 NameNode
1996 Jps
877 JournalNode
1727 DFSZKFailoverController
doop03기기에서는 다음과 같이 나옵니다.
30689 Jps
30563 NodeManager
30439 DataNode
30366 JournalNode
마지막으로 doop04기기에서는 다음과같이 나옵니다.
32023 Jps
31849 NodeManager
31742 DataNode
웹 인터페이스
하둡 2의 웹 인터페이스를 확인하겠습니다.
Active 네임노드는 doop02:50070으로
Standby 네임노드는 doop01:50070으로 접속하시면 확인하실 수 있습니다.
이로서 하둡2의 설치를 마쳤습니다.
참고자료
이 포스팅은 "시작하세요! 하둡 프로그래밍" 책의 예제를 무작정 따라해본 포스팅입니다.
'빅데이터 > 하둡 2' 카테고리의 다른 글
하둡 2.0 튜토리얼 - (6) 얀 명령어 (0) | 2019.07.22 |
---|---|
하둡 2.0 튜토리얼 - (5) 워드카운트 (0) | 2019.07.21 |
하둡 2.0 튜토리얼 - (3) 하둡 설치 (0) | 2019.07.21 |
하둡 2.0 튜토리얼 - (2) 주키퍼 설치 (2) | 2019.07.21 |
하둡 2.0 튜토리얼 - (1) 프로토버프 설치 (0) | 2019.07.21 |