본문 바로가기

Tech

(42)
[Docker]docker compose Extension fields Docker-compose version 3.4 부터 생긴 포맷라고 한다. Compose file version 3 reference docs.docker.com 선언은 파일의 맨 위에 선언해야 하며, 접두어로 x-를 붙여줘야한다. 선언시 &를 사용하고, 호출 시에는 *를 사용한다. 예시는 아래와 같다. (HDFS 구축 docker-compose 파일 중 일부) version: "3.4" # 이미지와 네트워크 정보에 대한 base service를 지정 x-datanode_base: &datanode_base image: hadoop-datanode:2.9.2 networks: - bridge services: datanode01:
[Hadoop]하둡 완벽가이드 요약 (7) 7장 7장은 맵리듀스 작동 방법을 설명한다. 맵리듀스 과정을 먼저 이해하기위해 7장을 먼저 요약한다. JobSubmitter 리소스 매니저에 맵리듀스 잡 ID로 사용될 새로운 어플리케이션 ID를 요청(위 사진에서 2번) 잡의 출력 명세를 확인. 출력 디렉토리가 지정되지 않거나, 이미 존재한다면 에러 전달. 잡의 입력 스플릿을 계산한다. 계산할 수 없을시 에러 전달. 잡 실행에 필요한 JAR 파일, 환경 설정파일, 계산된 입력 스플릿 등 잡 리소스를 공유 파일시스템에 있는 해당 잡 ID이름의 디렉터리에 복사한다. (위 사진에서 3번) 리소스 매니저의 submitApplication()을 호출하여 잡을 제출(위 사진에서 4번) 리소스 매니저가 submitApplication() 메서드의 호출을 받으면, YA..
[Hadoop]하둡 완벽가이드 요약 (4) 4장 4장은 YARN에 대해서 설명한다. YARN은 하둡 클러스터 자원관리 시스템이다. 하둡 맵리듀스의 성능을 높이기 위해 도입되었으나, 다른 분산 컴퓨팅 도구도 지원한다. YARN은 리소스매니저와 노드매니저 두 가지 실행 데몬을 통해 서비스를 제공한다. 리소스 매니저는 유일하다. 클러스터 전체 자원 사용량을 관리 노드 매니저는 컨테이너를 구동하고 모니터링 하는 역할 YARN 동작 순서 클라이언트는 리소스매니저에게 어플리케이션 마스터 프로세스 구동을 요청한다. 리소스매니저는 노드매니저를 하나 찾는다. 노드매니저는 어플리케이션을 실행하고(컨테이너) 결과 값을 클라이언트에게 반환한다. 분산처리가 필요할 경우에는 리소스매니저에게 더많은 컨테이너 요청을 하는 경우도 있다. 어플리케이션 수명 사용자의 잡 당 하나..
[Hadoop]하둡 완벽가이드 요약 (3) 3장 요약 HDFS 장단점 큰 사이즈의 파일을 저장한다 데이터 처리 패턴은 한번 쓰고 여러번 읽는 것. 데이터 셋은 생성되거나 복사된다. 데이터 접근에 빠른 응답 시간을 요구하는 어플리케이션은 적합하지 않다. 빠른 응답을 원한다면 HBase를 대안으로 활용하면된다. 한번쓰고 끝나거나, 덧붙이는 것은 가능하지만, 다중 라이터에 적합하지 않다.(하둡 3.0 부터는 지원) 요약 기본적인 블록크기는 128MB이다. 실질적으로 저장되는 데이터의 크기가 128MB이하라면, 해당 데이터의 사이즈만큼만 사용한다. 기본 블록 크기가 128MB인 이유는? 탐색 비용을 최소화 보통 블럭을 여러 노드에 나누어 저장한다(replica). 블럭이 손상되면, 다른 복사본이 있는 노드에서 복제하여 사용한다. hdfs fsck / -..
[Hadoop]하둡 완벽가이드 요약 (2) 2장 2장은 맵리듀스에 대한 설명을 한다. 20세기(1900~2000년도) 전 세계 날씨 데이터(약 407GB)를 가지고 해당 장에서 설명한다. Data Access | National Centers for Environmental Information (NCEI) Free access to NCEI's archive of global coastal, oceanographic, geophysical, climate and historical weather data. These data include quality controlled daily, monthly, seasonal, and yearly measurements of temperature, precipitation, wind, degree day..
[Hadoop]하둡 완벽가이드 요약 (1) 책을 읽으며, 각 장마다 요약하고 기록하려 한다. 하둡 완벽 가이드 - YES24 ★ 곁에 두고 찾아보는 하둡 최고의 바이블 개정 4판 전격 출간! 하둡 프로젝트의 커미터이자 핵심 설계자인 톰 화이트가 집필한 이 책은 하둡 창시자인 더그 커팅을 비롯한 프로젝트별 전문가 www.yes24.com 1장 맵 리듀스는 기본적으로 일괄처리 시스템이다. 따라서, 대화형 분석에는 적합하지 않다. 실행 후, 수 초 이내에 결과를 받는 것은 불가능하다. HBase는 HDFS를 기본 저장소로 Key-Value 저장소이다. 개별 행에 대한 읽기/쓰기, 데이터 읽기/쓰기 일괄처리를 지원한다. YARN은 클로스터 자원관리 시스템이다. 맵리듀스뿐만이 아닌, 다른 분산 프로그램도 하둡 클러스터에서 저장된 데이터를 처리하게 해준다...
[Hadoop]hadoop (2) 하둡의 파일 포맷 종류에 대해서 정리한다. Row-Based 많은 열이 있는 전체 단일 레코드를 처리할 때 사용 text, xml, csv, json은 데이터 쿼리에 적합하지 않다. (csv를 제외하고는 블록 압축 불가) Sequence files key-value 형태의 MR의 기본적인 디자인의 형식 블록 수준 압축을 지원 여러 맵 작업을 위해 파일을 세그먼트로 분할, 기능을 유지하면서 파일 내용 압축 가능 key-value가 binary 형식으로 인코딩 되어 저장 Avro 참고: https://luran.me/352 Avro 개요 Avro란? Avro는 데이터 직렬화와 관련된 시스템이다. 한국 개발자들은 /에이브로/라고 발음하곤 하지만, 외국 개발자 커뮤니티에서는 주로 /아브로/라고 발음하고 있다. ..
[Hadoop]hadoop (1) 개인적으로 Hadoop을 공부하며, 구조에 대해 깊숙하게 파악하기 이전에, 용어 정리를 먼저 하려고 한다. Distribute File System 분산 저장 시스템 Hadoop 데이터를 저장하는데 있어서 스키마의 제약을 받지 않는다. 데이터가 로드되기 전까지 스키마를 노출할 필요가 없다. HDFS 기본 블럭 크기는 128MB 블럭크기로 독립적인 단위로 저장 만약 1MB를 저장하는 블록이라면, 128MB를 다 쓰는 것이 아닌, 1MB 크기의 블록을 가진다. 블록 크기가 작게 설정되면, Name Node에 대해 너무 많은 작업을 생성하는, 많은 분할이 발생한다. sign Integer (32bit) overflow 때문에 2GB 이상의 크기는 주의해야한다. replication factor를 3개를 기본으..