본문 바로가기

Programming/Tip&Informaion

(69)
mwaa에서 ModuleNotFoundError 발생 시 대처 (v2.4.3) mwaa에서 reqirements.txt 파일을 통해 라이브러리를 다운받은 후, 실행 시에 에러가 발생했다. ModuleNotFoundError: No module named 'lib.name'; 'lib' is not a package 분명히 설치까진 잘 됐는데, import에서 에러가 발생했다. (비슷하게 관련 프로퍼티가 없다는 식의 에러도 있다.) 원인을 파악하니 custom operator를 만들어서 사용하고 있었는데, 이 operator의 파일명이 라이브러리명이랑 동일할 경우, 라이브러리가 아닌 해당 파일을 import해서 발생한 문제였다. mwaa에서의 버그인 지, airflow 2버전에서 변경사항인 지는 모르겠지만, 굉장히 이상하게 사용이 되고 있는 것 같다.
Airflow connexion error, HTTPStatus error 발생 aws-mwaa-local-runner-2_4-local-runner-1 | Traceback (most recent call last): aws-mwaa-local-runner-2_4-local-runner-1 | File "/usr/local/airflow/.local/lib/python3.10/site-packages/connexion/apis/abstract.py", line 222, in add_paths aws-mwaa-local-runner-2_4-local-runner-1 | self.add_operation(path, method) aws-mwaa-local-runner-2_4-local-runner-1 | File "/usr/local/airflow/.local/lib/python3.1..
ec2에서 docker 설치하기 https://narup.tistory.com/223 [AWS] EC2 Docker, Docker-compose 설치(Linux) AWS에서는 docker와 docker-compose를 설치하는데 기존 리눅스 방법과는 다른 방법으로 설치를 진행해서 아래 방법을 찾아 공유하려고 합니다! 도커 설치 // 도커 설치 sudo amazon-linux-extras install docker // narup.tistory.com 1. 도커 설치 // 도커 설치 sudo amazon-linux-extras install docker // 도커 시작 sudo service docker start // 권한 부여 sudo usermod -a -G docker ec2-user // auto-start에 docker 등록 ..
리눅스 방화벽 처리 (Oracle Cloud) Oracle Cloud에서 서버를 띄웠는데 ingress 설정을 해도 웹접속이 되질 않았다. 돌고 돌아 확인하니 방화벽 문제였다. 후에 dns를 붙였는데 또 작동하지 않았다. 다시 찾아보니 또 방화벽 문제였다. 방화벽 설정을 정리해보았다. 1. 일단 ingress 설정 subnet 설정에서 아래처럼 등록 2. 방화벽에 포트 등록 (ex 1521) sudo firewall-cmd --add-port=1521/tcp 참고: Ways to Secure Your Network (oracle.com) 3. dns 등록: DNS 설정 :: 오라클 클라우드 사용자 가이드 (taewan.kim) DNS 설정 OCI VM Instance의 Public IP에 Domain을 맵핑하는 DNS 설정 방법을 정리합니다. tae..
[Firehose] An error occurred (InvalidArgumentException) when calling the PutRecord operation: This operation is not permitted on KinesisStreamAsSource delivery stream type. 해결 이전 글에 이어서 제대로 쌓이지 않은 로그들을 재처리하기 위해서 processing-failed/ 내의 데이터를 재전송하는 작업을 했다. 작업을 처리 중에 An error occurred (InvalidArgumentException) when calling the PutRecord operation: This operation is not permitted on KinesisStreamAsSource delivery stream type. 에러가 발생했다. (처음에는 PutRecordBatch 로 했는데 안 돼서 PutRecord로 변경했는데도 똑같이 발생) 여기저기 찾아봤는데 aws cli 에선 --cli-binary-format raw-in-base64-out 인자를 추가하라는 글이 많았다. 그런데..
[Kinesis/Firehose/Lambda] The Lambda function was successfully invoked but it returned an error result. 해결 kinesis firehose 로 로그 데이터를 쌓고 있었는데, 특정 시간대의 로그가 쌓이고 있지 않다는 문의가 발생 kinesis 쪽 destination error logs 에선 The Lambda function was successfully invoked but it returned an error result. 와 같은 에러가 발생하고 있었다. (해당 시간 대에는 대부분의 로그가 저장이 안 되고 있던 상태였고, 다른 시간 대에도 가끔씩 발생하고 있었다.) cloud watch 에서 lambda 로그를 확인하니 http 413 (payload too large) 에러가 발생했다. 로그 데이터가 그냥 평범한 수준의 http request 정도라 payload 가 크다는 게 이해가 되진 않았고, 여러..
[MWAA] plugins 폴더의 No module named 에러 mwaa 로 옮기는 과정에서 plugins 내의 모듈을 찾지 못 하는 에러 발생 __init__.py 문제인가 해서 추가해봄 -> 안 됨 결론은 zip 하는 방식의 문제였는데 plugins 폴더 위치에서 zip -r plugins.zip plugins/* 을 하면 plugins 폴더까지 포함되는 문제였음 확인법: unzip -l plugins.zip 을 했을 때 파일목록 경로에 plugins/ 가 포함되어 있으면 안 됨 해결한 방법은 plugins 폴더 안에 들어가서 다음 명령어 실행 # cd plugins zip -r ../plugins.zip . 이거 해결하니 그 다음은 라이브러리 import 에러가 발생하는데 requirements.txt 파일에서 버전 충돌이 나면 에러를 뱉는 게 아니고 그냥 중..
[postgresql/docker] postmaster.pid: No space left on device 에러 airflow 가 중간에 종료된 후, 재기동이 되지 않아 찾아보니 postgresql이 실행되지 않아 worker 등이 제대로 실행되지 않았다. 로그를 확인하니 FATAL: could not write lock file "postmaster.pid": No space left on device 나왔다. docker 관련 용량 문제로 추정돼서 docker volume prune 을 했으나 여전히 안 됨 docker system prune -a 해서 성공했다. -------- 임시 방편일 뿐 해결되지 않아서 https://aws.amazon.com/ko/premiumsupport/knowledge-center/ebs-volume-size-increase/ Amazon EBS에서 ‘No space left o..