본문 바로가기

전체 글714

[IDE] Goland 컴파일 시 already exists and is not an object file 에러 Goland 2020.3 (2020.11.25) 버전으로 업데이트 이 후 최초 컴파일에는 성공하지만 이 후부터는 이미 존재한다는 오류와 함께 컴파일에 실패하는 경우가 반복되었다. 해결하기 위해 아래와 같이 Ctrl + Shift + A를 클릭 후 표시되는 Actions 입력창에 Registry라고 입력한다. 아래 그림과 같이 "go.build.output.path.cache.enabled" 항목을 찾아 체크 표시를 해제 한다. 이 후 빌드 수행 시 실행 파일을 캐시하지 않기 때문에 해당 오류는 발생하지 않는다. 다만 캐시를 하지 않으면 빌드 실행 속도 개선의 이점을 잃게 되므로 다음 버전 업데이트 시에 다시 체크하고 실행을 해서 테스트해봐야할 듯 하다. 2020. 12. 14.
[Go언어] API 서버간 내부 통신 시 too many open files 문제 다수의 API 서버를 실행 중이고, 각 서버간에는 주기적으로 상호 통신을 실행하고 있다. 이 때 일정 시간이 경과하면 아래와 같은 오류가 발생하면서 먹통이 되는 현상이 발생하였다. dial tcp: lookup 127.0.0.1: too many open files 먼저 메시지 내용 처럼 현재 얼마만큼의 파일이 Open 되었는지 확인해보기 위해 아래와 같이 lsof 명령을 사용하였다. lsof | wc -l 문제가 발생한 대상 API 서버에서 too many open files 발생 시 file open 수는 17141개 였는데 재시작 후 6994로 감소하였다. 이로 인해 프로세스 실행 후 문제가 발생한 시점까지 대략 10147개의 file open이 추가된 것으로 추정되는 상황이다. (다른 프로세스로 .. 2020. 12. 5.
[리뷰] 스파크 완벽 가이드 개발 업무를 진행하면서 서비스를 런칭 했을 때 사용자들의 행위나 서비스가 제공하는 각 기능에 대한 가치를 파악하기 위해 데이터 분석을 해보고 싶다는 생각을 항상 해왔었다. 이 전에는 게임 서버 개발 진행과 병행하여 엘라스틱서치를 도입해 데이터 분석을 위한 준비를 했었고, 서비스 런칭 후 이를 통해 사업부와 협업하여 사용자 행위 지표에 대한 다양한 차트를 만들어보기도 했었다. 이로 인해 생각지 못했던 아이디어가 떠오르기도 하고, 업데이트 된 기능에 대한 사용자들의 반응을 바로바로 확인할 수 있어서 굉장히 큰 도움이 되었었다. 이 때의 경험을 계기로 어떤 개발을 할 때는 항상 데이터 분석도 함께 해보려고 노력하고 있다. 얼마전에는 본 업무와 별개로 사이드 프로젝트를 진행하며 데이터 분석을 해보기도 했다. 이.. 2020. 11. 22.
[k8s] kube-prometheus #2 - 설정 변경 이 포스팅에서는 kube-prometheus를 사용하여 Prometheus가 이미 설치되었다고 전제하고 있습니다. 설치가 아직 안된경우 이전 포스트인 [k8s] kube-prometheus #1 - 설치를 참고하시기 바랍니다. kube-prometheus는 CRD(Custom Resource Definition)를 사용하여 구성되기 때문에 직접 Deployment를 수정하거나 Prometheus 설정을 변경하기가 어렵다. CRD에 정의되어 있는 spec에 따라 설정을 변경해주어야 하는데 가이드 문서에 세세하게 나와있지는 않기 때문에 직접 CRD 스크립트를 보면서 필요한 설정을 찾아 설정해주어야 한다. CRD 리소스 확인하기 1. 아래 명령을 실행하여 현재 생성되어 있는 CRD 목록을 확인한다. kubec.. 2020. 11. 18.