본문 바로가기

데이터엔지니어링10

[3장] 쿠버네티스 구축하기 클러스터 아키텍처 쿠버네티스는 여러 대의 서버가 하나의 클러스터로 연결되어 있다. 다음은 쿠버네티스의 아키텍처다. 컨트롤 플레인 컨트롤 플레인은 클러스터의 두뇌 역할을 하며 컨테이너 스케줄링, 서비스 관리, API 요청 처리등의 작업 처리를 한다. 컨트롤 플레인은 다음과 같은 컴포넌트로 구성이 된다. -컨트롤 플레인 컴포넌트- kube-apiserver 컨트롤 플레인의 프론트엔트 서버로 API 요청을 처리한다. etcd 어떤 노드가 존재하고 클러스터에 어떤 리소스가 존재하는지와 같은 쿠버네티스와 관련된 모든 정보를 저장하는 데이터 베이스다. kube-scheduler 새로 생성된 파드(pod)를 실행할 노드를 결정한다. kube-controller-manager 디플로이먼트와 같은 리소스 컨트롤러를 관리.. 2023. 6. 6.
[2장] 쿠버네티스 첫걸음 Cloud Native DevOps with Kubernetes의 책을 읽고 실습을 따라한 과정 도커 데스크톱을 활용해서 간단한 데모 애플리케이션을 빌드하고 로컬에서 실행한 뒤 이미지를 컨테이너 레지스트리에 푸시하기 도커는 쿠버네티스와 관련된 여러 기능을 제공한다. 컨테이너 이미지 포맷, 컨테이너의 수명 주기를 관리하는 컨테이너 런타임 라이브러리, 컨테이너의 패키징 및 실행에 사용하는 명령줄 도구, 컨테이너 관리용 API가 있다. 도커가 중요하긴 하나 쿠버네티스가 사용하는 많은 컴포넌트 중에 하나다. docker container run -p 9999:8888 --name hello cloudnatived/demo:hello 명령어를 이용하여 파일을 다운로드하고 localhost:9999에 띄운걸 확인할.. 2023. 6. 5.
[Docker] 도커 도커?? 도커(Docker)는 리눅스 컨테이너 기반의 오픈소스 가상화 플랫폼이며, 애플리케이션을 컨테이너에 담아 배포가 가능하다. 이를 통해서 서버 환경에 대한 의존성을 줄이고, 애플리케이션의 이식성을 높일 수 있다. 도커는 이미지와 컨테이너로 구성이 되어 있는데, 여기서 이미지는 애플리케이션을 실행하는데 필요한 파일과 설정을 포함하고, 컨테이너는 이 이미지를 기반으로 생성되고, 애플리케이션 실행 환경을 독립적으로 제공하게 된다. 도커는 가상머신(VM)과 유사한 기능을 제공하나, VM보다 가볍고 빠르다. 도커는 가상화 기술을 이용해서 컨테이너를 생성하는데, OS위에 도커 엔진이 작동하며, 컨테이너 별로 Bins/Libs가 작동하고 각각의 App이 작동하게 된다. VM의 경우엔 Hypervisor 위에 각.. 2023. 3. 15.
Hive, Presto, Impala Hive Hive는 Hadoop ecosystem에서 데이터 웨어하우스 시스템을 담당하고 있으며, 대규모 배치 처리를 하는 쿼리 엔진이며, 데이터양에 좌우되지 않는 쿼리 엔진이다. Hive는 Hive Metastore가 있는데, 여기는 데이터들을 저장하고 스키마를 이용해 구조화하여 저장하는 곳이다. 특히, 텍스트 데이터를 가공하거나 열 지향 스토리지를 만드는것 같은 무거운 처리의 경우 Hive를 사용하는게 적합하다. Hive의 특징 및 한계 특징 Hive는 빠르고 확장성이 있다. MapReduce 나 Spark 작업으로 변환되는 SQL 같은 쿼리를 제공한다. HDFS에 저장된 대용량 데이터 세트를 분석 가능하다. 인덱싱을 사용해 쿼리를 가속화한다. Hadoop 에코시스템에 저장된 압축 된 데이터에서 작동.. 2023. 2. 24.