일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- java
- docker
- Packet
- zookeeper
- Operating System
- EC2
- Spring
- tcp
- OS
- airflow
- MAC address
- grafana
- Trino
- CSV
- AWS
- jvm
- aws s3
- kubeadm
- Kafka
- Python
- kubectl
- log
- kubernetes
- Vision
- Network
- PostgreSQL
- JavaScript
- ip
- helm
- CVAT
- Today
- Total
JUST WRITE
Topic Kafka에서 Topic은 record, data를 저장하는 곳이다. Kafka에서 data를 주고받을 때 Topic을 통해서 주고받는다. Topic 기본적으로 아래와 같은 특징을 가진다. Topic은 record를 log에 저장 record를 저장한 log는 partition으로 나눠어져 저장 가능 partition은 다수의 Server에 나눠어져 저장 가능 Topic Partitions Kafka는 Topic으로 들어온 record를 log에 저장한다. Topic의 log는 partition으로 나뉜다. 기본적으로 record의 key를 기준으로 parition에 나누어진다. record의 key는 record를 kafka에 전달한 producer가 record와 함께 전달한다. key가 ..
Kafka는 아래와 같은 구성 요소를 가진다. Records Topics Consumers Producers Brokers Logs Partitions Clusters Kafka가 어떻게 동작하는지와 구성요소들이 어떤 역할을 하는지 대략적으로 정리해보려 한다. Topics, Producers, Consumers Kafka의 주요한 역할은 Data를 받아서 전달하는 역할이다. 그 역할을 Topics, Producers, Consumers에서 한다. Producer -> publish 하는 Topic에 Data를 전달 Topic -> Log라는 구조로 디스크에 Data를 저장 Consumer -> Topic에 쌓인 Data를 읽어서 처리 Topic Partition, Consumer Group Topic에 ..
What is Kafka? Kafka는 publish-subscribe messaging queue, messaging system이다. Real-time streaming data architecture에 주로 사용된다. Kafka는 안정적이고 좋은 performance로 Spotify, Uber, Netflix 등 다양한 회사에서 사용되고 있다. Kafka는 분산 streaming 플랫폼으로 Fault tolerant, 장애에 대응할 수 있는 storage이기도 하다. Kafka 특징 so fast Kafka는 빠른 Data 이동을 위해 OS Kernel에 의존한다. Zero-copy를 통해 속도를 개선한다. Immutable commit log를 Disk에 순차적으로 저장한다. 이로 인해 Rando..
YARN Yet Another Resource Negotiator Hadoop 1.0과 Hadoop 2.0에서 가장 큰 차이점은 YARN이다. MapReduce는 4000 Node 이상의 매우 큰 Cluster에서 병목현상 이슈가 있었다. 이 병목 이슈를 해결하기 위해 YARN이 도입되었다. Cluster Resouce Management와 Data Processing을 분리하였다. YARN에서 Cluster Resouce Management를 담당한다. MapReduce 외에 다른 Data Processing 방식도 수용 가능하다. 동작 Resource Manager Client가 요청한 Application마다 자원을 관리한다. Hadoop Cluster 내 1개 존재한다. 전체 Resouce 상태를..
MapReduce MapReduce는 Hadoop HDFS 내 Data를 사용하여 처리하는 Progarmming Model이다. Hadoop내 분산처리 엔진 역할을 하는 중요한 Component이다. MapReduce는 2004년 Google에서 발표한 논문에서 시작되었다. Hadoop MapReduce는 이 논문을 바탕으로 구현한 Framework이다. 데이터 분산 처리에 적합하며 key-value 알고리즘이 핵심이다. 장단점 장점 단순하고 사용 편리 유연성 -> 특정 데이터 모델이나 스키마, 질의에 의존적이지 않음 저장 구조의 독립성 데이터 복제에 기반한 내구성과 재수행을 통한 내고장성 확보 높은 확장성 단점 고정된 단일 데이터 흐름 기존 DBMS보다 불편한 스키마 질의 단순한 스케줄링 작은 데이터 ..
HDFS Hadoop Distributed File System 일반적인 Hardware들로 구성된 Cluster에서 대용량 파일을 처리하게 도와주는 시스템이다. BigData 시대에 Data의 크기는 워낙 방대하다. 그러다 보니 하나의 좋은 성능의 Server로는 저장과 처리가 힘들고 비용도 크다. 대신 보통 성능의 Server를 여러 대를 두고 저장, 처리를 하면 훨씬 효율적이다. HDFS는 큰 Data를 분산해서 처리하기 좋은 시스템이다. HDFS는 GFS(Google File System) Architecture 에서 시작되었다. 위 그림에서 보면 Master-Slave 구조를 갖는다. GFS master가 Master, GFS chunkserver가 Slave라고 보면 된다. GFS chunks..