hadoop, hdfs ?하둡 공부 정리
- 빅데이터를 저장, 처리, 분석할 수 있는 자바 기반 소프트웨어 프레임워크
- HDFS와 맵리듀스가 핵심
- HDFS로 데이터를 저장, MapReduce로 데이터를 처리
- RDBMS와 경쟁하는 것이 아닌 RDBMS와 협력
2. HDFS?
- Hadoop Distributed File System의 약자이다.
- 수십 테라바이트 또는 페타바이트 이상의 대용량 파일을 분산된 서버에 저장하고, 그 저장된 데이터를 빠르게 처리할 수 있게 하는 파일시스템이다.
- HDFS는네임노드(마스터)와데이터노드(슬레이브)로 구현
3. 네임노드(NameNode)?
- 메타데이터관리, 데이터노드 모니터링( 데이터노드의 실행상태와 용량을 체크 ), 블록관리, 클라이언트 요청접수
4. 데이터노드(DataNode)?
- 클라이언트가 HDFS에 저장하는 파일을 로컬 디스크에 유지.
5. HDFS에 파일저장
- 클라이언트에서 네임노드와 통신. 스트림(DFSOutputStream)을 생성.
- 생성된 스트림을 통해 클라이언트에서 파일을 데이터노드에 전송. ...
6. HDFS에 파일읽기
- 클라이언트에서 네임노드의 입력스트림객체(DFSInputStream)를 통해 스트림객체를 생성.
- 생성된 스트림객체를 이용하여 조회.
- 클라이언트에서 스트림객체에서 블록리더기 생성
- DFSInputStream은 모든 블록을 조회
7. 보조네임노드(Secondary Name Node)
- 네임노드가 메타데이타를 메모리에 담고 처리하는데 만약 서버가 리부팅되면 사라질 수 있다. HDFS는 이러한 점때문에editslog와fsimage라는 두 개의 파일을 생성한다.
- editslog는 HDFS의 모든 변경 이력을 저장 / fsimage는 메모리에 저장된 메타데이터의 파일 시스템 이미지를 저장
- editslog가 커지면 fsimage를 만드는데 시간이 많이 소요되게 된다.이러한 문제를 해결하기 위한 게 보조네임노드
- 보조네임노드는 fsimage를 갱신 (체크포인트, 보조네임노드를체크포인팅 서버라고도 함)
- 보조네임노드는 네임노드의 백업이 아닌 fsimage를 줄여주는 역할만 함
빅데이터 처리를 위한 방법
하둡 특성
1) Distributed : 수십만대의 컴퓨터에 자료 분산 저장 및 처리
2) Scalability : 용량이 증대되는대로 컴퓨터 추가
3) Fault-tolerent : 하나 이상의 컴퓨터가 고장나는 경우에도 시스템이 정상 동작. Node 가 고장난 경우, 마스터 노드는 이를 감지하고 다른 Node에 할당함으로써 해결
4) Open Source : 오픈 소스이다.
yookeun.github.io/java/2015/05/24/hadoop-hdfs/
하둡(Hadoop)의 HDFS에 대한 기본설명
하둡에서 HDFS에 대해 기본적인 기능을 알아보자. 아래내용은 도서 시작하세요! 하둡프로그래밍(위키북스/정재화지음)에서 HDFS만 발췌/요약정리한 내용이다. 하둡을 처음 공부하는 사람들에게
yookeun.github.io
아파치 하둡 HDFS 사용법(Cloudera 사용)
아파치 하둡 소개에 다음 버전으로 간단한 HDFS 사용법에 대해 소개하고자 한다. 소개는 http://kkn1220.tistory.com/120 를 참고 환경 구축: 가상 머신(Virtual box 또는 Vmware, Cloudera) cloudera는 맵알(Ma..
kkn1220.tistory.com