빅데이터

advertisement
Hadoop기반 빅데이터 실무과정
Zookeeper
빅데이터 최고의 커뮤니티
http://www.bicdata.com
Bigster 이사 김기선
SHARE THE KNOWLEDGE
CopyLeft © 2012 BIWORLD
목차
1. 개요
2. 설치
3. 동작 실습
4. Q&A
1 / 12
빅데이터 – http://www.bicdata.com
1. Zookeeper 개요
Zookeeper 소개
• Zookeeper는 고가용성 분산 코디네이션 시스템
• Zookeeper의 주요 용도
-
분산 락킹(distributed locking)
분산 시스템의 통합 설정 관리
네이밍 서비스
분산 시스템의 단일 스퀀스
Active/Stanby 관리, 클러스터의 멤버쉽 관리
- 분산 시스템 각 머신의 Life 상태 / 자원 모니터링
• Zookeeper 특징
* 고가용성 * 확장성 * 분산성
* 공유 설정
* 합의체 * 그룹 멤버쉽 * 리더 선출
* 네이밍/코디네이션
2 / 12
빅데이터 – http://www.bicdata.com
1. Zookeeper 개요
Zookeeper 구조
• Leader/Follower 구조
• 모든 서버에서 Read/Write 가능
• 리더가 받아서 다른 Follower에 전달
• 모든 Zookeeper 서버는 데이터의 복제본을 저장
• 리더는 시작시 리더선출 알고리즘에 의해서 자동 선정(리더 장애시에도)
• 이벤트는 리더로 전송되고 모든 서버에 저장될때 결과는 리턴됨
3 / 12
빅데이터 – http://www.bicdata.com
1. Zookeeper 개요
Zookeeper data model
• 인메모리 데이터베이스
- 내구성을 위해 변경내역은 로그로 저장
- 클라이언트는 파일시스템처럼 사용 가능
• 데이터는 계층화된 패스노드
- znode
- 디렉토리/파일 구조 아님
(데이터를 가지는 디렉토리)
- 데이터는 key-value로 저장
- 데이터는 최대 1M 제한
• 임시 노드
- 세션이 삭제되면 임시노드도 삭제
• 시퀀스 노드
• 고속 처리
- 초당 50,000번 변경
- 초당 200,000번 읽기
4 / 12
빅데이터 – http://www.bicdata.com
2. Zookeeper 설치
Zookeeper 설치
• 다운로드
- http://zookeeper.apache.org/
- wget http://apache.mirror.cdnetworks.com/zookeeper/zookeeper-3.3.5/zookeeper3.3.5.tar.gz 미러사이트에서 tarball 다운로드
• 압축풀기
- 설치를 원하는 곳에서 다운 받은 zookeeper-3.3.5.tar.gz를 푼다.
- tar –zxvf zookeeper-3.3.5.tar.gz
- ln –s zookeeper-3.3.5 zookeeper : 심볼릭 링크 설정
• 설정잡기
- ~/zookeeper/conf/zoo.cfg
5 / 12
빅데이터 – http://www.bicdata.com
2. Zookeeper 설치
Zookeeper
# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
dataDir=/home/bdh/zookeeper/datadir
server.1=datanode1:2888:3888
server.2=datanode2:2888:3888
server.3=datanode3:2888:3888
# the port at which the clients will connect
clientPort=2181
6 / 12
빅데이터 – http://www.bicdata.com
2. Zookeeper 설치
Zookeeper 설치
• myid 설정
- vi myid
- zoo.cfg에서 설정했던 쿼룸(멤버서버의 숫자 아이디)에 맞게끔 myid를 설정
• 멤버 서버에 동일하게 zooker를 설치하고 myid를 설정
7 / 12
빅데이터 – http://www.bicdata.com
3. 동작실습
Zookeeper 서버 실행
• Zookeeper 기동
- ~/zookeeper/bin/zkServer.sh
- ~/zookeeper/bin/zookeeper.out
8 / 12
빅데이터 – http://www.bicdata.com
3. 동작실습
Zookeeper 서버 실행
•~/zookeeper/bin/zookeeper.out
9 / 12
빅데이터 – http://www.bicdata.com
3. 동작실습
Zookeeper 클라이언트 실행
• Zookeeper 서버에 접속
- ./zkCli.sh -server datanode1:2181
10 / 12
빅데이터 – http://www.bicdata.com
3. 동작실습
Zookeeper 동작 실습
• Zookeeper 동작 실습
help
[zk:datanode1:2181(CONNECTED)1] ls /
[zk:datanode1:2181(CONNECTED)1] create /zk_test my_data
[zk:datanode1:2181(CONNECTED)1] ls /
[zk:datanode1:2181(CONNECTED)1] get /zk_test
[zk:datanode1:2181(CONNECTED)1] set /zk_test junk
[zk:datanode1:2181(CONNECTED)1] get /zk_test
[zk:datanode1:2181(CONNECTED)1] delete /zk_test
[zk:datanode1:2181(CONNECTED)1] ls /
11 / 12
빅데이터 – http://www.bicdata.com
3. 동작실습
Q&A
12 / 12
빅데이터 – http://www.bicdata.com
Download