Data Engineering/Hadoop
-
MYSQL RDS 여러 Name node(Multi primary)들이 공통으로 저장할 메타데이터를 저장할 곳이 필요하기에 MySQL RDS를 생성한다. 서버 안에서 mysql을 설치하고 사용해도 가능하지만, 서버가 고장나면 접근이 안된다는 문제가 있다. amazon RDS로 서버와 데이터베이스 서버를 분리하여 안정적이면서 확장성, 보안이 좋고 편리하다는 장점을 가질 수 있다. 데이터베이스 생성한다. 많은 데이터가 들어가지 않기때문에 프리티어로 선택했으며(t3.micro) 연결 > 퍼블릭 엑세스를 허용해준다. mysql -u 마스터사용자이름 -h endpoint주소 -P 3306 -p 패스워드 위의 커맨드로 mysql에 접근하고 hive용 데이터베이스를 생성한다. create database hive; ..
Amazon EMR Hadoop 구축해보기 | MYSQL RDS, EMR 클러스터 생성MYSQL RDS 여러 Name node(Multi primary)들이 공통으로 저장할 메타데이터를 저장할 곳이 필요하기에 MySQL RDS를 생성한다. 서버 안에서 mysql을 설치하고 사용해도 가능하지만, 서버가 고장나면 접근이 안된다는 문제가 있다. amazon RDS로 서버와 데이터베이스 서버를 분리하여 안정적이면서 확장성, 보안이 좋고 편리하다는 장점을 가질 수 있다. 데이터베이스 생성한다. 많은 데이터가 들어가지 않기때문에 프리티어로 선택했으며(t3.micro) 연결 > 퍼블릭 엑세스를 허용해준다. mysql -u 마스터사용자이름 -h endpoint주소 -P 3306 -p 패스워드 위의 커맨드로 mysql에 접근하고 hive용 데이터베이스를 생성한다. create database hive; ..
2024.01.12 -
HDFS 명령어 모음 대부분 리눅스 command와 비슷해서 큰 설명없이도 이해가 쉬웠다. Dir, File 조회 ls hdfs dfs -ls / 파일 출력 lsr hdfs dfs -lsr / 하위 디렉토리 포함하여 파일 출력 du hdfs dfs -du -h / 파일 용량을 확인, h는 사람이 보기 편하게 만들어주는 것이다. hdfs dfs -du -h -s / s 를 붙이면 summary 용량을 확인할 수 있다. cat hdfs dfs -cat filename 파일 내용 출력 text hdfs dfs -text filename 파일 내용 출력하며 압축된 형태도 가능 mkdir hdfs dfs -mkdir dirname dir 생성 head, tail hdfs dfs -head filename hdfs..
HDFS 명령어 모음HDFS 명령어 모음 대부분 리눅스 command와 비슷해서 큰 설명없이도 이해가 쉬웠다. Dir, File 조회 ls hdfs dfs -ls / 파일 출력 lsr hdfs dfs -lsr / 하위 디렉토리 포함하여 파일 출력 du hdfs dfs -du -h / 파일 용량을 확인, h는 사람이 보기 편하게 만들어주는 것이다. hdfs dfs -du -h -s / s 를 붙이면 summary 용량을 확인할 수 있다. cat hdfs dfs -cat filename 파일 내용 출력 text hdfs dfs -text filename 파일 내용 출력하며 압축된 형태도 가능 mkdir hdfs dfs -mkdir dirname dir 생성 head, tail hdfs dfs -head filename hdfs..
2024.01.09 -
Fair Call Queue Client의 요청을 담아놓는 Queue이다. heavy한 클라이언트로 인해 전체 요청의 처리가 늦어지지 않도록 하기 위해 만들어졌다. 이전 방식 FIFO Queue Fair call queue가 도입되기 전에는 FIFO방식의 큐를 사용하였다. 하지만 이러한 방식은 heavy user로 인해 전체 응답 속도를 느리게 만들었다. 그리고 high load를 발생시키면 전체 시스템에 과부하가 걸려 분산 서비스에 대한 공격이 가능하기에 DDoS방식으로 공격이 가능하다. Fair Call Queue 구성 multi-level queue가 multiplxer와 scheduler로 연결되어있다. RPC Scheduler Listen queue에 RPC요청이 도착하면 reader threa..
Hadoop의 Fair Call QueueFair Call Queue Client의 요청을 담아놓는 Queue이다. heavy한 클라이언트로 인해 전체 요청의 처리가 늦어지지 않도록 하기 위해 만들어졌다. 이전 방식 FIFO Queue Fair call queue가 도입되기 전에는 FIFO방식의 큐를 사용하였다. 하지만 이러한 방식은 heavy user로 인해 전체 응답 속도를 느리게 만들었다. 그리고 high load를 발생시키면 전체 시스템에 과부하가 걸려 분산 서비스에 대한 공격이 가능하기에 DDoS방식으로 공격이 가능하다. Fair Call Queue 구성 multi-level queue가 multiplxer와 scheduler로 연결되어있다. RPC Scheduler Listen queue에 RPC요청이 도착하면 reader threa..
2024.01.09 -
Data Fault Tolerance 하둡은 fault tolerance를 위해 SW로 복제본을 만들고 다른 머신, 다른 렉, 다른 데이터 센터로 분산 시킨다. HW로는 RAID 구성을 두어 fault tolerance를 더욱 높인다. RAID RAID는 Redundant Array of Inexpensive Disks를 말한다. 하드 디스크를 여러 개 독립적인 드라이브의 배열로 가상화하는 방식이다. 이를 통해 performance 뿐만 아니라 capacity, reliability를 개선할 수 있다. RAID 0 RAID 0은 데이터를 블럭단위로 나누고 전체 데이터 영역에 array로 분포하도록 나누는 방식이다. Drive 개수 만큼 동시에 read, write가 가능하여 속도가 빠르다. storage..
Hadoop RAID, Eraser CodingData Fault Tolerance 하둡은 fault tolerance를 위해 SW로 복제본을 만들고 다른 머신, 다른 렉, 다른 데이터 센터로 분산 시킨다. HW로는 RAID 구성을 두어 fault tolerance를 더욱 높인다. RAID RAID는 Redundant Array of Inexpensive Disks를 말한다. 하드 디스크를 여러 개 독립적인 드라이브의 배열로 가상화하는 방식이다. 이를 통해 performance 뿐만 아니라 capacity, reliability를 개선할 수 있다. RAID 0 RAID 0은 데이터를 블럭단위로 나누고 전체 데이터 영역에 array로 분포하도록 나누는 방식이다. Drive 개수 만큼 동시에 read, write가 가능하여 속도가 빠르다. storage..
2024.01.08 -
Observer Name Node 이전 포스팅 내용처럼 2024.01.08 - [Data Engineering/Hadoop] - Hadoop의 High Availability (고가용성) 아키텍처 Hadoop의 High Availability (고가용성) 아키텍처 Name node의 HA 하둡의 버전 1까지는 namenode는 SPOF(Single Point Of Failure)였다. datanode는 수평적 확장이 가능했지만, namenode는 하나의 인스턴스를 유지해야했으며 이 namenode가 이용불가능 해지면 클러스터 cstory-bo.tistory.com 여러 HA Architecture를 통해서 HA는 달성했지만 여전히 active namenode에 부하를 주는 문제가 발생한다. 이 부하를 해..
Observer Name Node(ONN)로 부하 분산Observer Name Node 이전 포스팅 내용처럼 2024.01.08 - [Data Engineering/Hadoop] - Hadoop의 High Availability (고가용성) 아키텍처 Hadoop의 High Availability (고가용성) 아키텍처 Name node의 HA 하둡의 버전 1까지는 namenode는 SPOF(Single Point Of Failure)였다. datanode는 수평적 확장이 가능했지만, namenode는 하나의 인스턴스를 유지해야했으며 이 namenode가 이용불가능 해지면 클러스터 cstory-bo.tistory.com 여러 HA Architecture를 통해서 HA는 달성했지만 여전히 active namenode에 부하를 주는 문제가 발생한다. 이 부하를 해..
2024.01.08 -
Name node의 HA 하둡의 버전 1까지는 namenode는 SPOF(Single Point Of Failure)였다. datanode는 수평적 확장이 가능했지만, namenode는 하나의 인스턴스를 유지해야했으며 이 namenode가 이용불가능 해지면 클러스터 전체가 이용 불가하다. HA Architecture 위의 그림처럼 Active, Stanby 2개의 상태 namenode를 두어서 SPOF 문제를 해결했다. active namenode가 다운되면, standby namenode가 승격되어 downtime을 최소화한다. 또한 stanby namenode는 backup namenode 역할도 수행한다. 이처럼 namenode가 예상치 못한 장애에 대해서 자동화된 failover를 수행할 수 있으..
Hadoop의 High Availability (고가용성) 아키텍처Name node의 HA 하둡의 버전 1까지는 namenode는 SPOF(Single Point Of Failure)였다. datanode는 수평적 확장이 가능했지만, namenode는 하나의 인스턴스를 유지해야했으며 이 namenode가 이용불가능 해지면 클러스터 전체가 이용 불가하다. HA Architecture 위의 그림처럼 Active, Stanby 2개의 상태 namenode를 두어서 SPOF 문제를 해결했다. active namenode가 다운되면, standby namenode가 승격되어 downtime을 최소화한다. 또한 stanby namenode는 backup namenode 역할도 수행한다. 이처럼 namenode가 예상치 못한 장애에 대해서 자동화된 failover를 수행할 수 있으..
2024.01.08 -
Name node & Data node Name Node Name node는 블럭의 위치, 권한 등의 메타 데이터를 가진다. 기본적으로 메모리에 메타데이터를 저장하고 2가지 종류의 파일로도 기록한다. 1. Fsimage : File System Image로 네임노드 생성 이후부터 namespace 정보를 모두 가지고 있다. 2. Edit log : Fsimage로부터 현재까지의 변경사항 로그이다. 이제는 Name node의 기능을 알아보자. Metadata Management 파일 시스템을 유지하기 위한 메타데이터를 관리한다. 파일 시스템 이미지(파일명, 디렉토리, 사이즈, 권한 정보)와 파일에 대한 블럭 매핑 정보를 가지고 있으며 빠르게 응답해야 하기 때문에 메모리에서 관리한다. File System ..
Hadoop 아키텍처 - Name/Data node & Replica & File Read/WriteName node & Data node Name Node Name node는 블럭의 위치, 권한 등의 메타 데이터를 가진다. 기본적으로 메모리에 메타데이터를 저장하고 2가지 종류의 파일로도 기록한다. 1. Fsimage : File System Image로 네임노드 생성 이후부터 namespace 정보를 모두 가지고 있다. 2. Edit log : Fsimage로부터 현재까지의 변경사항 로그이다. 이제는 Name node의 기능을 알아보자. Metadata Management 파일 시스템을 유지하기 위한 메타데이터를 관리한다. 파일 시스템 이미지(파일명, 디렉토리, 사이즈, 권한 정보)와 파일에 대한 블럭 매핑 정보를 가지고 있으며 빠르게 응답해야 하기 때문에 메모리에서 관리한다. File System ..
2024.01.07 -
HDFS HDFS는 하둡의 file system을 말한다. Design Goal 1. Hardware Failure hdfs는 분산 서버에 발생하는 다양한 장애를 빠른 시간에 감지하고 대처할 수 있게 설계되었다. 데이터를 저장하면 복제본을 만들며 분산 서버들은 주기적으로 health check를 통해 장애를 빠르게 감지하고 대처한다. 2. Streaming Data Access HDFS는 클라이언트의 요청을 빠르게 처리하는 것보다 동일한 시간 내에 더 많은 데이터를 처리하는 것을 목표로 한다. 그래서 user와의 상호작용보다는 batch 처리에 더 맞게 디자인 되어있다. HDFS는 Random Access 대신 Streaming 방식으로 데이터를 접근한다. 3. Large Data Sets 하나의 파일이..
HDFS Design Goal & Block Based File SystemHDFS HDFS는 하둡의 file system을 말한다. Design Goal 1. Hardware Failure hdfs는 분산 서버에 발생하는 다양한 장애를 빠른 시간에 감지하고 대처할 수 있게 설계되었다. 데이터를 저장하면 복제본을 만들며 분산 서버들은 주기적으로 health check를 통해 장애를 빠르게 감지하고 대처한다. 2. Streaming Data Access HDFS는 클라이언트의 요청을 빠르게 처리하는 것보다 동일한 시간 내에 더 많은 데이터를 처리하는 것을 목표로 한다. 그래서 user와의 상호작용보다는 batch 처리에 더 맞게 디자인 되어있다. HDFS는 Random Access 대신 Streaming 방식으로 데이터를 접근한다. 3. Large Data Sets 하나의 파일이..
2024.01.07