본문 바로가기
반응형

전체 카테고리147

[HDFS] 데이터노드 추가/삭제/디스크고장 조치 데이터노드 추가 common /etc/hosts yum (yum pluigin 설치, repo 파일 배포 등) package 설치 (jdk, python 등) system 설정 (java_home, selinux 해제 등) user 설정 (root계정, ndap계정 ssh-key 생성) ssh (key 배포) ndap package 설치 (mysql-connector, hive, ndap) hadoop datanode (설치, dir 생성) nodemanager(설치, dir 생성) hbase, phoenix, spark ... 설치 및 라이브러리 심볼릭링크 등 mysql 계정, 비번, 권한 conf hadoop, hive 등 설정파일 배포 추가할 노드 아래 파일에 추가하고 hdfs dfsadmin -r.. 2019. 10. 30.
HDFS 주요 개념 - 네임노드, 데이터노드 HDFS는 네임노드(master)와 데이터노드(slave)로 구성되어 있으며 데이터를 분산 저장하는 파일시스템입니다. Hadoop의 핵심이기도 합니다. 이 글에서는 HDFS의 특징과 네임노드, 데이터노드의 주요 특징을 정리합니다. 1. HDFS 특성 scale out 블록을 복제하여 저장하므로 하나 서버가 장애가 나도 영향도가 적음 하둡은 원래부터 배치 프로세싱을 위해 디자인됨 worm (write-once-read-many) 오직 하나의 주체만 파일을 쓸 수 있다. 동시쓰기 x 파일 쓰기에 대한 사용권(lease) 개념이 적용된다. 클라이언트는 파일쓰기를 위해 일정 기간의 사용권을 얻어야 한다. 그 동안 다른 클라이언트는 해당 파일쓰기를 할 수 없다. update는 불가능하며 append 개념이 적용됨.. 2019. 10. 28.
인프라업무 Remind PXE http os 설치이미지 kickstart 파일 tftp os 커널이미지 (vmlinuz, initrd.img) syslinux 부트로더 dhcp ip 할당, subnet-mask 부트로더 파일 디스크 구성 RAID (Redundant Array of Independent Disks) RAID 0 (stripping) RAID 1 (mirroring) RAID 10 (stripping -> mirroring) RAID 5 (parity) 파티션 /boot, swap, / fdisk 포맷 mkfs 마운트 mount Local Repository yum 패키지 의존성을 관리해주는 툴 repodata 패키지들의 metadata 해당 패키지의 의존성 패키지 정보가 있음 repo 파일 repo id bas.. 2019. 10. 27.
Hive Metastore 종류 및 설정 (mysql/mariadb hive-metastore) Hive Architecture 복잡한 맵리듀스 프로그래밍 없이 SQL로 맵리듀스를 사용할 수 있게 도와주는 녀석이다. SQL을 내부적으로 맵리듀스 코드로 변환해준다. 맵리듀스 외에 Tez 등의 엔진을 사용할 수도 있다. 보통 HDFS를 warehouse로 사용한다. (1) Client가 쿼리를 실행한다. (2) Driver가 쿼리플랜을 Compiler에게 요청한다. (3) Compiler는 쿼리에 해당하는 맵리듀스 코드를 생성한다. 이때, Metastore를 통해 하이브의 메타데이터(컬럼정보, 컬럼매핑 등)를 가져와 사용한다. 또한, 쿼리플랜을 생성한다. (4) 쿼리플랜을 Execution Engine에 전달한다. (5) Execution Engine은 Hadoop에 맵리듀스 잡을 요청하고, 잡의 결과.. 2019. 10. 18.
[HDFS] 네임노드 개념과 HA(High Availability, 고가용성) 구성 네임노드 장애가 나도 서비스에 문제가 발생하지 않도록 하는 네임노드 HA 구성에 대해 알아보겠습니다. 그 전에 네임노드의 역할, 네임노드 디렉토리 구조, 체크포인팅 개념을 먼저 정리하겠습니다. 1. 네임노드의 역할 (1) 메타데이터 관리 기본적으로 메타데이터는 메모리에 로딩해놓는다. fsimage 파일 어떤 시점에서 HDFS 메타데이터에 대한 스냅샷 파일이다. 가장 최근에 체크포인팅(fsimage + edits => fsimage)을 한 시점까지의 메타데이터를 갖고 있다. 파일 퍼미션, 엑세스 시간, HDFS 파일 위치, HDFS 블록 메타정보가 기록되어 있다. dfs.namenode.name.dir 경로에 저장이 된다. (디스크에도 저장) 네임노드 시작할 때 fsimage를 메모리에 로딩한다. edit.. 2019. 10. 15.
[BOJ 1012 유기농배추] BFS와 DFS로 풀기 (python) 문제조건 연결요소(덩어리)의 개수를 찾는다. 가로, 세로와 행열 인덱스 주의하자. 핵심개념 pypy는 최대 재귀깊이가 10만으로 설정되어 있다. 이걸 넘으면 런타임에러가 발생한다. sys.setrecursionlimit(10**6) 100만으로 늘려준다. (참ㅋㅋㅋㅋㅋ) DFS가 BFS보다 메모리를 적게 쓰긴 하는구나. 코드 DFS (메모리 30276 KB) dx, dy = [-1, 1, 0, 0], [0, 0, -1, 1] import sys sys.setrecursionlimit(10**6) #재귀 깊이 설정 (10만 -> 100만) def dfs(x, y, _cnt): dist[x][y] = _cnt for k in range(4): nx, ny = x+dx[k], y+dy[k] if 0 2019. 10. 14.
반응형