본문 바로가기

Til60

데이터 엔지니어링 51일차 TIL 학습내용Docker 기반 airflow 실행 1. git clone https://github.com/learndataeng/learn-airflow.git2. cd learn-airflow 3. curl -LfO 'https://airflow.apache.org/docs/apache-airflow/2.5.1/docker-compose.yaml'curl  : client url의 약자로  데이터를 URL을 통해 전송하기 위한 명령줄 도구이다. curl -LfO 'https://airflow.apache.org/docs/apache-airflow/2.5.1/docker-compose.yaml' 뜻  -L: --location의 약자로, 서버가 리다이렉션을 지시하는 경우 해당 URL을 따라가도록 한다. HT.. 2024. 6. 5.
데이터 엔지니어링 50일차 TIL 학습내용Docker 사용시 유의점 - Docker Volumes     - Host volume은 보통 개발시 소스코드를 바로  ontainer안으로 마운트 하기 위함     - Production에서는 named volumes를 써야한다 - Docker container는 read-only로 사용한다     - 내용을 바꿔야한다면 실행 중인 컨테이너를 수정하지 말 것     - 항상 이미지를 새로 빌드하고 다시 컨테이너들을 새로 론치한다     - 자동화가 중요하다 : CI/CD 프로세스 - 다수의 Docker Container들을 다수의 호스트들에서 실행 필요     - 용량 문제와 Fail-over(fail-tolerant) 관리해야하는 서버의 수가 늘어난다면? 해결방안 1. 문서화     - 지금.. 2024. 6. 5.
데이터 엔지니어링 49일차 TIL 학습내용.dockerignore란? : 불필요한 Binary파일이나 패스워드가 들어있는 파일 등 개발자의 부주의로 인한 사고를 막기위함 및 깃업의 크기가 불필요하게 늘어나는 것을 방지한다. - Image build할 때 추가하지 말아야할 파일들이나 폴더들 지정 Docker-Compose란? - 다수의 컨테이너로 소프트웨어가 구성되는 경우 사용할 수 있는 툴 + 환경설정파일     - docker-compose.yml로 설정     - 다양한 테스트등도 수행이 가능하다     - 다양한 버전을 만드는 것도 일반적이다(dev, test, pord등) - 개별 컨테이너를 따로 관리하는 것보다 훨씬 더 생산성이 높다 - 환경설정 파일의 이름은 docker-compose.yml이나 docker-compose.ya.. 2024. 6. 5.
데이터 엔지니어링 48일차 TIL 학습내용Docker 명령 정리 - Image - 이미지 빌드 : docker build --platform=Linux/amd64 -t 이미지 이름 - 이미지 보기 : docker images     docker image ls - 이미지 삭제 : docker rmi     docker image rm Docker 명령 정리 - Docker Hub - 로그인 : docker login -u 사용자ID -p 사용자PW - 도커 풀(가져오기) : docker pull wsh120/hangman - 도커 푸쉬 : docker push wsh120/hangman Docker 명령정리 - 컨테이너 - 도커 생성 : docker create - 도커 실행 : docker run --name -p -v     - --.. 2024. 6. 5.
데이터 엔지니어링 47일차 TIL 학습내용Docker 컨테이너 내부 프로세스와 호스트 프로세스간의 통신 - Docker 컨테이너로 포트 4000에 실행된 Flask app이 있다 - 이 app을 호스트 운영체제에서 접근하려면?     - Docker 컨테이너 내부 프로세스가 오픈한 포트번호는 바깥 프로세스에서는 보이지 않는다.     - 예를들어 앞서 4000번 포트는 호스트 프로세스 브라우저에게는 보이지 않는다. => Docker컨테이너 내부 프로세스가 오픈한 포트번호를 외부로 노출해주는 포트맵핑이 필요하다.     - Docker run 수행시 -p 옵션을 사용한다.     - ex) Docker run -p 4000:4000 이미지이름 (앞의 4000이 localhost:4000 에 들어갈 포트넘버로 다른번호로 수정가능) 소프트웨어.. 2024. 6. 5.
데이터 엔지니어링 46일차 TIL 학습내용Airflow Executor란? - Executor는 Task들을 관리하고 실행하는 역할을 수행한다     - 병렬 혹은 일렬 실행이나 어느 worker에서 실행할지 등 - 다양한 수의 Executor타입이 존재     - Sequential Executor : 디폴트로 설치되며 Sqlite와 같은 싱글스레드 DB에서만 사용가능     - Local Executor : task들을 Airflow 마스터 노드안에서 실행한다     - Celery Executor : 다수의 Worker 노드가 있는 경우 사용되며 Celery 큐를 사용해 task들을 worker노드로 분산하여 실행한다.     - Kubernetes Executor는 K8s 클러스터를 사용하여 task들을 독립된 환경에서 사용한다... 2024. 6. 5.