본문 바로가기

210130일 - airflow 작업 실패 기록? 작업 순서 수정 1. 도커파일을 빌드해서 도커를 앱의 환경설정에 먼저 맞추고 올리자. 로컬에서는 airflow를 계속 올려서 사용하니까 다른 앱이 나오면 또 그 환경설정에 맞게 도커파일을 빌드해서 새로 띄워야 한다. 쿠버네티스를 이용하면 worker가 필요할 때마다 pod를 띄워서 작업할 수 있는 듯. 리소스를 필요한 만큼만 사용하니 좋고 원하는 이미지를 사용해 pod를 띄울 수 있어 좋다. 2. 여러 작업들이 앱에 포함되어 있어서 계속 문제를 일으키니, 앱의 기능을 분리해서 airflow task로 넣어야 할 듯 (적어도 data나 log기록하는 부분은) 궁금한 점: task1에서 env작업을 했음 → 그럼 연결되는 task2에서도 저 설정한 환경변수가 적용되어 있는가? 한 dag에 설정되어 있는 ta..
220125화 - 에어플로우 설치와 기본 개념 찾아보기 #1 드디어 써보는구나. 설치 Docker 사용 공식사이트의 docker-compose.yml 이용. (postgre + redit) Airflow용 DB: postgre (*default: sqlite → 이 경우 executor를 SequentialExecutor밖에 못 쓴다고.) yml 설정에서 webserver 포트 9002:8080으로 바꿈. docker-compose v2.2.3 으로 업그레이드. 누군가 만들어놓은 docker-compose (v1.10.9 )를 사용했다가 2 설치 다시 함. 위의 스크립트를 띄우면 처음에 airflow-init이 실행하면서 메모리와 CPU를 체크한 후 문제가 없으면 airflow-webserver , flower, scheduler, triggerer 등등이 설치된..
220113목 - google cloud logging과 monitor의 차이? 둘의 차이가 뭘까? 구글 클라우드 제품을 사용해 간단히 로그 파이프라인을 만들어보려고 하는데 둘의 차이가 헷갈린다. 글을 읽어보면 둘 다 데이터를 어느정도 분석할 수 있다는 건 비슷하지만 로깅은 데이터를 쌓는 것에 좀 더 중점을 두는 것 같고, 모니터링은 말 그대로 모니터링에 더 중점을 두는 듯 하다. alert 기능이나 실시간 데이터 대시보드 등도 제공하고. 구글문서: https://cloud.google.com/products/operations#:~:text=Cloud Logging automatically ingests Google,for non Google Cloud monitoring. 참조 https://stackoverflow.com/questions/63915463/google-cloud..
docker로 mariaDB & adminer 설치 어플을 설치할 때 주로 도커를 사용하는데 마리아 DB & Adminer를 설치하면서 기록차원에서 남겨놓음. 1. DOCKER-COMPOSE 파일 설정 (setting.yml) 테스트용이기 때문에 설정을 최소화했다. version: '3.1' services: mariadb: image: mariadb restart: always volumes: - /your/data/conf/path:/etc/mysql/conf.d - /your/data/path:/var/lib/mysql ports: - 3306:3306 # (호스트port):(컨테이너port) environment: - MYSQL_ROOT_PASSWORD=my_password # :가 아닌 = 를 사용해야 함 adminer: image: admine..
[ES] 211104목 - elasticsearch query value에 콜론(:)있을 시 검색 filter를 통해 url주소를 넘겨줘서 정확한 검색결과를 뽑으려 했는데 검색이 안 된다. 다른 field로 검색하면 되는데 안 된다? 살펴보다 특수기호때문에 그런게 아닌가 생각이 들어서 찾아봤더니 ..그렇네;; url에는 "http:// ..."에 ":"가 들어가 있어서 문제가 되는 듯 했다. filter말고 다른 검색방법이 있나 찾아봤더니 match_phase를 쓰라고 한다. { "query": { "match_phrase": { "link": "https://m.blog.naver.com/aaa/2223353366344" } }, "size": 500, "_source": [] } "match_phrase"는 bool -> must 안에 들어갈 수 있다. { "query" : { "bool": { ..