본문 바로가기

전체 글96

python dash gunicorn RecursionError: maximum recursion depth exceeded while calling a Python object [INFO|/locdisk/code/cc/framework/helper/s3_helper.py:114] 2023-07-05 07:06:29,341 > Traceback (most recent call last): File "/locdisk/code/cc/framework/helper/s3_helper.py", line 109, in get_data s3_client = session.create_client('s3', aws_access_key_id=AWS_S3_KEY, aws_secret_access_key=AWS_S3_SECRET_KEY) File "/venv/lib/python3.6/site-packages/botocore/session.py", line 838, in create_client cl.. 2023. 7. 5.
성적 나왔당 주변에 아무한테도 말 못하지만 여기서라두... 뿌듯하당 헤헤 졸업까지 화이팅! 2023. 7. 3.
docker system df docker system df TYPE TOTAL ACTIVE SIZE RECLAIMABLE Images 120 10 57.47GB 53.83GB (93%) Containers 15 12 3.732GB 0B (0%) Local Volumes 25 7 1.89GB 1.89GB (100%) Build Cache 0 0 0B 0B TYPE: Docker 시스템의 자원 유형을 나타냅니다. TOTAL: 해당 자원 유형의 전체 용량입니다. ACTIVE: 현재 사용 중인 자원의 용량입니다. SIZE: 현재 자원이 차지하는 실제 용량입니다. RECLAIMABLE: 해당 자원 유형 중에서 재활용 가능한 공간의 용량을 나타냅니다. 2023. 7. 3.
[메모 - EKS/VPC] EKS에서 다른 VPC 내에 있는 인스턴스에 접근하기 왓아원 EKS에서 다른 VPC 내에 있는 인스턴스에 띄워진 DB에 접근하고 싶다. 해결방법 1. vpc를 원하는 인스턴스가 있는 피어링을 연결한다. 2. 원하는 라우팅 테이블에 라우팅 연결 메뉴를 통해 vpc 피어링 (pcx-xxxxxxx)를 추가한다. 3. 보안그룹의 인바운드 및 아웃바운드를 수정해준다. 접속 확인! 여기서 주의점! 라우팅이 연결되어야 한다는 생각에 새로운 라우팅 테이블을 연결하고 subnet 연결을 편집했는데, 이렇게 되면 기존 eks의 네트워크에 영향을 주게 되기 때문에 새로 라우팅 테이블을 생성하는 것이 아닌 기존 라우팅 연결을 편집하는 것이 맞다. 참고자료 [AWS] 가장쉽게 VPC 개념잡기 가장쉽게 VPC 알아보기 medium.com 2023. 6. 29.
[디버깅]NodeCreationFailure: Instances failed to join the kubernetes cluster => 왕짱삽질 인트로 image pull이 잘 되던것이 어느 시점부터 갑자기 되지 않기 시작했다. 처음부터 구성하자고 마음을 먹어 노드 그룹부터 생성을 시작했는데, 아래와 같은 에러가 떴다. 하우투 디벅? NodeCreationFailure: Instances failed to join the kubernetes cluster 해결해보아요~ 일단 ecr에서 imgpullback의 경우 i/o timeout 을 제외하고 별다른 로그를 볼 수 없었기에, 노드 생성에서 나타나는 오류부터 추적해보았다. aws에서는 아래와 같이 말하고 있다. 그런데 내경우는 이게 안먹혔다!!! ㅠㅠㅠ 기존에 잘 되던 것이 안되기 때문 알고보니 vpc 연결이 문제였다. 다른 vpc 내의 인스턴스에 띄워진 db에 접근하려고 vpc 라우팅을 수정하.. 2023. 6. 28.
[디버깅기] airflow postgresql sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "postgres" (), port 5432 failed: FATAL: sorry, too many clients already 인트로 sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "postgres" (172.19.0.2), port 5432 failed: FATAL: sorry, too many clients already 서칭한 해결방안 재시작 하면 기존에 셋팅해두었던 airflow connection 값들이 모두 사라지기 때문에, postgres docker로 cp 를 진행하였다. Airflow psycopg2.OperationalError: FATAL: sorry, too many clients already I have a four node clustered Airflow environment that's been .. 2023. 6. 27.
[디버깅기] eks Error from server (Forbidden): error when creating "manifest_aws.yml": deployments.apps "" is forbidden: unable to create new content in namespace because it is being terminated 인트로 namespace 를 삭제하고 새로 생성하려는데, namespaces 가 계속 Terminating 상태로만 남아있었다. cc@ksadlq001:~$ kubectl get namespaces NAME STATUS AGE cert-manager Active 29h default Active 2d10h kube-node-lease Active 2d10h kube-public Active 2d10h kube-system Active 2d10h -dashboard Terminating 2d10h 현상진단부터! 일단 띄워진 namespace 의 리소스 삭제 순서가 꼬인 것이니 현황을 파악한다. resource 내의 삭제 순서가 꼬이면 finalizers에 의해 삭제가 막힌다고 한다. 그러니까 finaliz.. 2023. 6. 26.
pycharm파이참 에서 github auto copilot 사용하기 1. plugin을 설치한다. 2. Tools - Github copilot 을 통해 github계정과 연동한다. 이제 잘 사용하면 된다! tab을 누르면 자동완성! 2023. 6. 26.
[디버깅기] eks 로 띄운 서비스 curl: (52) Empty reply from server/* OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection [L4/L7, LoadBalancer, ingress, service, kubectl, aws eks] 요약: eks 에서 ingress를 생성해주어야 한다! 인트로 - 해결법을 찾아가기 azure 에서 k8s를 통해 서비스를 띄운뒤, 같은 내용의 manifest file을 eks 에도 띄우려고 하였다. 애저에서 잘 되던거니 어련히 알아서 잘 되겠거니 했는데, 서비스를 띄우는 것까진 성공했지만 막상 웹앱에 접근하려고 하니 serivce에서 제공하는 external ip 로 접근할 수 없었다. 그렇다면 내가 만든게 뭔가 잘못된 것! 아래는 내가 처음에 azure에서 띄운 서비스의 manifest 파일이다. kind: Namespace metadata: creationTimestamp: null name: my-name spec: {} status: {} --- apiVersion: apps/v1 kind: .. 2023. 6. 25.
데이터 품질의 비밀 - 데이터 품질에 주목해야 하는 이유 ch1 데이터 다운타임: data downtime 데이터가 수집되지 않아 누락되거나 부정확하게 측정되는 등의 데이터 손실로 인해 소프트웨어 또는 서비스의 가동이 중지되는 상황을 의미한다. 신뢰할 수 없는 데이터가 너무 많을 때 일어난다. 자체만으로 기업의 수익성이 크게 나빠지는 것은 아니다. 데이터 조직이 데이터 품질문제를 처리하기 위해 전체 업무 시간의 40% 이상을 소모한다고 한다. 데이터 다운타임의 근본적인 원인? Db 스키마 변경으로 인한 데이터 파이프라인 중단 주요 행 또는 열 중복 현상 대시보드 내 오류값 발생 등등… 프로덕션 데이터 소스시스템의 데이터 다운타임: 가동중지, 업타임: 정상 수행시간 다운타임은 소프트웨어 엔지니어링, 개발 및 운영과 모두 관련있어서 보통 업타임을 기준으로 성능을 측정한다.. 2023. 5. 3.
데이터 중심 애플리케이션 설계 - 분산시스템의 골칫거리 분산 시스템의 골칫거리 잘못될 가능성이 있다면 잘못된다 ㅠㅠ 결함과 부분 장애 우리는 소프트 웨어를 결정적으로 설계한다. 하지만 네트워크로 연결된 여러 컴퓨터에서 실행되는 소프트웨어는 오류가 날 수 있다. 부분 장애: 어떤 부분은 잘 동작하지만 어떤 부분은 예측할 수 없는 방향으로 고장 비결정적이다. 클라우드 컴퓨팅과 슈퍼컴퓨팅 대규모 컴퓨팅 구축 방법에 관한 철학 한쪽 끝에 고성능 컴퓨팅이 있다(high-performance computing, HPC) 다른 극단에는 클라우드 컴퓨팅이 있다. 사용ㅇ컴퓨터, 신축적, 주문식 자원할당(elastic, on-demand), 계량결제 전통적인 기업형 데이터센터는 이 두 극단의 중간지점에 있다. 철학에 따라 결함 처리 방법도 다르다. 슈퍼컴퓨터: 단일 노드처럼 .. 2023. 4. 28.
데이터 중심 애플리케이션 설계 - 트랜잭션 트랜잭션 트랜잭션은 수십년동안 여러 내결함성 결여로 인해 발생되는 문제를 해결하는 메커니즘으로 채택되어 왔다. 데이터베이스에 접속하는 애플리케이션에서 프로그래밍모델을 단순화 하려는 목적으로 만든 것이다. 안전성보장: safety guarantee: db에서 트랜잭션 사용을 통해 어플의 잠재적 오류와 동시성 문제를 무시할 수 있다. 항상 트랜잭션이 필요한 것은 아니다.‘ 이번장의 중요 질문: 트랜잭션이 필요한지 아닌지 어떻게 알 수 있을까? 애매모호한 트랜잭션의 개념 관계형 데이터베이스는 거의 모두 트랜잭션을 채택하는 경우가 많고, 비관계형 베이스는 채택하는 경우도, 아닌 경우도 있다. ⇒ 이 과정에서 트랜잭션의 의미가 약화되었다. ACID의 의미 원자성(atomicity), 일관성 (consistency.. 2023. 4. 26.