전체 글(422)
-
es curator
es에서 index가 기하급수적으로 늘어나면서 디스크 용량이 부족해지기 시작했다. index 정리를 하자... 그래서 찾아본게 curator!! 쉽게 말해서 index를 날짜 패턴별로 삭제를 쉽게 도와주는 프로그램이다. 이제 curator를 설치하고 실행하는 걸 해 보자. 아래와 같이 curator를 설치한다. $> pip install elasticsearch-curator 설치 시에 중요한 점이 있는데 curator 버전과 es의 버전을 major 정도는 맞춰주어야 동작이 원할하게 된다. 만약에 버전이 안 맞는 경우 curator 실행 시에 아래와 같은 에러가 발생 할 수 있다. File "/hanmail/.pyenv/versions/3.9.4/lib/python3.9/base64.py", line ..
2024.03.08 -
kibana 단축 url 만들기
kibana url을 공유할 때면 url이 너무 크고 복잡해서 읽기도 힘들고 어렵다. 그래서 찾아본 결과 아래의 형태의 단축 url을 만들수가 있다. https://test-kibana.com/goto/241148663024b73eb8119de13732df6 방법은 의외로 너무나 간단하다. 일단 kibana를 열고 왼쪽 상단의 menu 중 share 메뉴를 클릭한다. share 버튼을 클릭하면 아래와 같은 창이 생성되는데 여기서 short url 버튼을 enable 시켜주면 kibana 단축 url이 생성된다.
2024.02.07 -
pod evicted 난 pod 일괄 삭제하기
evicted가 된 pod의 경우 계속 pod에 남아 있어서 k8s 화면에 빨간색으로 떠 있게 된다.. (이게 너무 싫음) 그래서 evicted된 pod를 모두 일괄 삭제하기로 했다. 우선 evicted된 원인 확인을 위해 evicted 된 pod의 describe를 log에 저장한다. kubectl get pods | grep Evicted | awk '{print $1}' | xargs kubectl describe pods {} > evicted.log 해당 log 저장이 완료되었으면 이제 해당 pod들을 삭제해주자. k get pods | grep Evicted | awk '{print $1}' | xargs kubectl delete pods {}
2024.02.06 -
rdd mapPartitions와 foreachPartition 비교
쓰면서 늘 헷갈리는게 foreachPartition인 것 같다. 이게 무슨 용도로 있는 함수인가... 그래서 이번 기회에 mapPartitions와 foreachPartition을 비교해 보기로 했다. 아래와 같이 코드를 작성한다. num_rdd = sc.parallelize(range(100000), 10) num_rdd.getNumPartitions() getNumPartitions를 찍어보면 10개가 찍히는 걸 확인할 수 있다. 이제 map으로 돌릴 함수를 선언하자 def square(num_list): for num in num_list: yield num * num mapPartitions의 경우 yield 값을 넘겨주어야 iterate 동작을 할 수가 있다. 이제 이 함수를 mapPartiti..
2024.02.05 -
java.lang.IllegalAccessError: class org.apache.spark.storage.StorageUtils$ cannot access class sun.nio.ch.DirectBuffer
spark session 생성 시에 아래와 같은 에러가 발생 했다. java.lang.IllegalAccessError: class org.apache.spark.storage.StorageUtils$ (in unnamed module @0x706a04ae) cannot access class sun.nio.ch.DirectBuffer 에러가 발생되는 코드는 아래와 같다. SparkSession.builder().config(sparkConf) .getOrCreate() 평상 시에 늘 쓰던 구문인데 갑자기 에러가 발생해서 당황했다. ㅠ_ㅠ 구글링을 해도 별다른 말을 없고.... intelliJ에서 이리저리 설정을 찾던 도중 아래와 같이 Run configuration이 java 11로 되어 있다는 사실을..
2024.01.08 -
k6로 성능 테스트 하기
mac 환경에서 성능 테스트를 진행할 목적으로 k6를 써보기로 했다. 설치는 간단하다. 아래와 같이 설치 하자 $> brew install k6 k6를 실행하기 위해서는 실행 코드가 담긴 js 스크립트 파일이 있어야 한다. 아래와 같이 작성하자. import http from 'k6/http'; import { SharedArray } from 'k6/data'; import { htmlReport } from "https://raw.githubusercontent.com/benc-uk/k6-reporter/main/dist/bundle.js"; import { textSummary } from "https://jslib.k6.io/k6-summary/0.0.1/index.js"; export funct..
2023.12.29