분류 전체보기(422)
-
airflow hdfs provider 설치하기
airflow에서 hdfs를 깔끔하게 접근하는 방법이 없을까 고민하다가 airflow provider란 걸 발견했다.airflow provider는 aws나 azure, google cloud 등을 airflow에서 좀 더 쉽게 연결해 줄 수 있도록 제공해주는 plugin이라고 생각하면 쉬울 것 같다. 일단 내가 설치한 airflow 환경에서 hdfs provider가 있는지 여부부터 살펴 보자.airflow UI에서 admin 클릭하면 현재 airflow에서 제공되는 provider의 목록들이 나타난다. 불행하게도 hdfs 관련된 provider는 보이지 않는다.그럼 이제 hdfs provider를 직접 설치해 보도록 하자. 설치를 하기 위해서는 airflow Docker 이미지의 customize..
2024.08.21 -
pyMysql에서 collation과 useSSL 적용하기
Mysql 8.0 으로 업그레이드를 진행하면서, default 값으로 사용하던 collation과 useSSL을 명시적으로 선언해야 할 필요가 있었다.그래서 아래와 같은 요청을 받게 되었다. jdbc:mysql://localhost:3306/schema?connectionCollation=utf8mb4_unicode_ci&useSSL=false 나의 경우 SQLAlchemy + pyMySQL을 사용하고 있었기 때문에 아래와 같이 db url을 수정하고 테스트를 진행했다. mysql+pymysql://localhost:3306/schema?connectionCollation=utf8mb4_unicode_ci&useSSL=false 하지만 아래와 같은 에러가 발생!! unexpected keyword arg..
2024.08.20 -
spark 모르는 옵션 정리
spark.task.maxFailurestask의 실패 최대 횟수 (default 4)spark.stage.maxConsecutiveAttempts노드 scale 조정, 트리거로 인한 노드 종료 등의 이유로 stage가 실패하게 되면 설정된 count 만큼 허용한다.예를 들어 작업 중 어떤 한 노드를 강제 종료하게 되면 task 실패 횟수에 1이 추가되는게 아니라 maxCounsecutiveAttempts에 1이 추가가 된다. 설정된 값만큼의 실패 예외를 허용해 준다.spark.shuffle.file.buffershuffle 시 파일 출력 스트림 버퍼 크기 spark.sql.files.maxPartitionBytesinput partition의 크기를 설정한다. (default 128mb (1342177..
2024.06.21 -
k8s nodeSelector와 node label 설정하기
k8s에서 pod를 deployment할 때 특정 노드를 지정해서 내가 원하는 pod를 설치할 수가 있다.(나같은 경우에는 특정 노드를 선택해 해당 노드에는 redis pod만 띄우도록 설정해 놓고 있다.) 일단 특정 노드를 선택하기 위해서는 해당 노드에 label을 지정해 주어야 한다.우선 아래의 명령어를 통해 내가 가진 node들이 현재 어떤 label이 지정되어 있는지를 확인할 수 있다. $> kubectl get nodes --show-labels label 확인이 완료되었으면 특정 노드에 label을 명시하는 것도 가능하다. $> kubectl label node [node 이름] name=redis 나같은 경우에는 특정 node에 name을 redis로 지정해 주었다.이렇게 지정된 label은..
2024.05.28 -
k6 retry와 sleep
k6를 사용하다보니 request fail 횟수가 드문드문 나와서 retry를 줬을때는 request fail이 얼마나 발생하는지 알고 싶어졌다. k6 자체적으로 retry를 제공해 주지는 않는 것 같고 아래와 같이 custom function을 만들어야 하는 것 같다. import { sleep } from 'k6'; import http from 'k6/http'; function httpGet(url, params) { var res; for (var retries = 3; retries > 0; retires--) { res = http.get(url, params) if (res.status != 400 && res.status < 500){ return res; } sleep(1); } ret..
2024.04.05 -
tensorflow serving memory leak??
아래의 docker hub를 통해 tensorflow serving 이미지를 다운 받는다. https://hub.docker.com/layers/tensorflow/serving/2.14.1-gpu/images/sha256-cdae1c60c07d1ffc94ebc086e0f1a4d7f1ecc52f3fec558f1f7b506dfd4edce2?context=explore Docker hub.docker.com $> docker pull tensorflow/serving:2.14.1-gpu model은 dockerhub git에 있는 예제 프로그램 대로 실행해본다. 1. 우선은 git 받기 $> git clone https://github.com/tensorflow/serving 2. 환경 변수 정의하기 $> ..
2024.04.02