분류 전체보기
-
[Airflow] MysQL 설치 후 실행 에러 해결(feat. version을 확인하쟈!)Airflow 2022. 7. 15. 22:02
MySQL 실행 error > sudo systemctl start mysqld Failed to start mysqld.service: Unit not found. > mysql --version mysql Ver 15.1 Distrib 5.5.68-MariaDB, for Linux(x86_64) using readline 5.1 => 처음 설치한 버전이 mariaDB 버전이었던게 문제였던 듯. MySQL 재설치 > sudo yum install -y mysql-server mysql-client No package mysql-server available. No package mysql-client available. Error: Nothing to do wget으로 mysql 설치 > wget ht..
-
[Airflow] Airflow 초간단 설치하기(feat. 10분 컷!)Airflow 2022. 6. 13. 23:48
1. Airflow 설치하기 airflow 설치에 필요한 변수들을 다음과 같이 설정하기 export AIRFLOW_HOME=~/airflow export AIRFLOW_VERSION=2.2.3 export PYTHON_VERSION=3.8 export CONSTRAINT_URL="" airflow install pip install "apache-airflow[async,postgres,google]==${AIRFLOW_VERSION}" --constraint "${CONSTRAINT_URL}" 2. DB upgrade & initialize 처음 default db는 sqlite로 설정되어 있는데, 이는 development purposes only 즉 개발용으로 사용되고 실제 사용은 mysql, po..
-
MS Teams에서 Airflow DAG 자동 실행 파이프라인 구축(Feat. Teams, Lambda, Airflow 연동)프로젝트 회고록 2022. 4. 22. 07:42
업무시작 배경 고객사 해지 요청이 왔을 때 업무 process: client.yml 고객사 setting정보(serviceKey) 삭제 git update(add/commit/push) Airflow DAGs 삭제 airflow 추천 서버 DAG 5개 airflow 세그먼트 서버 DAG 2개 고객사 해지 요청이 없어 위 process가 이루어지지 않을 경우: AI 검색어 추천 모델 배포 실패 cloudwatch log 내역 확인 위의 1,2,3 실행 keyword_train DAG 수동 trigger 30일동안 DAG 학습 진행(비용) 👉 AI 검색어 추천 모델 배포 실패 방지, 해당 업무에 뺏기는 시간 & 업무 흐름 끊김 방지를 위한 파이프라인 구축 필요 결론 🎥 구축과정 살펴보기 https://nin..
-
[Airflow] Airflow A서버에서 B서버로 CLI 명령어 날리기Airflow 2022. 4. 4. 00:10
1. 고객사 해지 후 Airflow A서버의 추천 학습 DAG들 삭제할 때 Airflow B서버의 세그먼트 학습 DAG들도 삭제해주어야 함 2. Airflow A서버 → Airflow B서버로 ssh 명령어 날리기 3. 접속이 무한대기중에 걸려있길래 Security Group 문제를 의심하고 SSH-20으로 등록(HTTP Port X) 4. Security Group 등록 후 재시도 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: UNPROTECTED PRIVATE KEY FILE! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ Permissions 0644 fo..
-
[Airflow] DAG에서 같은 yaml 파일 중복 사용시 ErrorAirflow 2022. 3. 21. 20:58
1. crontab OFF 상태에서 git_pull_clients Task 실행 시 ⇒ error 발생수동 git fetch —all ⇒ update_clients ⇒ errorup_for_retry에 걸려있음clients.yml은 변경(서비스키 삭제)된 상태 2. crontab ON 상태에서 update_clients Task 실행 시 ⇒ error 발생 clients.yml update 후 crontab 작동할 때 까지 대기 ⇒ 변경 전 clients.yml pull 땡긴 후 nothing to commit, working tree clean error 발생⇒ DAG가 돌아가는 중에 혹은 어떤 작업 진행 중 CONF repo에 변경사항이 반영되면 git pull을 요구하기 때문에 error가 발생함...
-
[Airflow] xcom variable return_value 반환 에러Airflow 2022. 3. 15. 21:33
처음 의도 Airflow task들끼리 변수를 전달하기 위해 xcom_pull을 명령어로 이전 task의 결과 값 return_value를 가져오려고 함. 그러나 DAG가 아예 사라져버린 현상을 마주했고, 아래와 같은 오류가 Airflow UI에 나타났음. Broken DAG: [/data/airflow/delete_serviceKey_dag.py] string indices must be integers XComs에는 의도한 값이 정상적으로 잘 나오고 있었다. client_info = "{{ task_instance.xcom_pull('get_client_data', key='return_value') }}" delete_DAG = BashOperator( task_id="delete_dag", bas..
-
[Airflow] Task in the 'queued' state(feat. 에어플로우 중단 현상)Airflow 2022. 3. 9. 17:43
문제 발생 Git에 원격으로 저장되어 있는 Airflow DAG 코드 수정 후 push하면 Airflow에서 동작을 안함 workflow: CONF repo → DAG repo → Airflow Main/Worker 서버 반영 문제 원인 Airflow Main과 Worker 모두에 동일한 코드의 DAG가 UPDATE 되어야 함!! 현재는 Airflow Main에만 update 되어 있었고, worker 서버에는 DAG repo pull이 안 땡겨지고 있었음 문제해결 remote: Repository not found. fatal: repository '' not found error: Could not fetch origin => git repo 주소가 잘못 되어있는것 같아 다시 clone 함. - 이상..
-
UnicodeEncodeError: 'ascii' codec can't encode characters개발Tip 2022. 3. 6. 00:41
기존 yaml 파일의 코드를 수정하기 위해 write를 시도해봤더니 아래와 같은 에러가 나왔다: File "/data/airflow/../delete_serviceKey_dag.py", line 45, in get_client_names outfile.write('\\n\\n\\n'.join(new_clients)) UnicodeEncodeError: 'ascii' codec can't encode characters in position 449-453: ordinal not in range(128) =>file을 열고 작성할 때 open과 write 둘다 encoding이 필요하다 with open('/data/airflow/G2-CONF/clients.yml', encoding="utf-8") as ..