본문 바로가기
반응형

BigData 기술37

[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.
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.
[spark] 리눅스 환경에서 maven + spark + scala IDE를 사용하지 않고, 리눅스 터미널 환경에서 메이븐 빌드를 하는 과정입니다. scala로 짜여진 스파크 프로그램을 실행하는 것까지 해보겠습니다. 1. 메이븐, 스칼라 설치 및 설정 테스트 환경 JAVA : openJDK 1.8 SPARK 2.4.3 CentOS 6.9 메이븐을 설치합니다. #다운로드 받을 디렉토리로 이동합니다. cd /usr/share #바이너리 파일을 다운받습니다. wget http://apache.mirror.cdnetworks.com/maven/maven-3/3.6.1/binaries/apache-maven-3.6.1-bin.tar.gz #압축을 풀어 설치합니다. tar xvzf apache-maven-3.6.1-bin.tar.gz 메이븐 공식 홈페이지 : https://mave.. 2019. 6. 28.
[spark] 아파치 스파크 클러스터 종류 1. 스파크 로컬 모드 간단한 테스트를 할 때 유용합니다. 로컬 머신에서만 스파크가 구동됩니다. 클라이언트 JVM에 driver 1개와 executor 1개씩만 생성하는 형태입니다. 그래도 executor는 스레드를 여러 개 생성하여 태스크를 병렬로 실행할 수 있습니다. spark-shell이나 spark-submit 으로 로컬모드를 수행할 때는 --master 매개변수 값을 아래와 같이 설정합니다. 매개변수 값 설명 local[n] 스레드 n개를 사용하여 1개의 executor를 실행 local 스레드 1개를 사용하여 1개의 executor를 실행 (local[1]) local[*] 로컬머신의 CPU 코어개수와 동일하게 스레드를 생성하여 1개의 executor를 실행 local[,] 스레드 n개를 사용.. 2019. 6. 27.
반응형