Author Archives: 마르스

Elasticsearch Plugin Build

전체 과정 요약 elasticsearch 소스 다운로드 소스에서 plugin example 별도 복사 build.gradle 수정 및 plugin 빌드 elasticsearch 에 빌드한 플러그인 설치 테스트 1. elasticsearch source download 2. copy plugin example – rest-handler 3. edit build.gradle and build 4. elasticsearch plugin install 5. Test

Elasticsearch 7.x build via IntelliJ IDEA

Intellij 에서 elasticsearch 빌드 및 디버그 환경 구성하기. 사전 준비 IntelliJ JDK 15 or high 소스 다운로드 및 빌드 3. Intellij 에서 해당 프로젝트를 열기File -> Open -> elasticsearch 를 다운받은 폴더를 선택합니다. ( /Users/mars1/Temp/elasticsearch) 4. 빌드하기Build -> Build Project 5. 실행server프로젝트의 src/main/java/org/elasticsearch/bootstrap/Elasticsearch 의 main 클래스를 실행하면 됩니다. 하지만 그냥 실행하면 몇가지 오류를 만나게 됩니다.

Docker Logging Disk Full

어느날 서버 디스크가 full이 되었다. 원인을 찾아보니 원인은 docker container의 log파일이 17기가였다. 한 컨테이너의 로그파일이…;; docker의 기본 loggin driver는 json-file (그 외에도 local, syslog 등 여러가지가 있음.) json-file의 경우 max-size는 -1이다. 즉 무제한이다…;; 설정값 참고 : https://docs.docker.com/config/containers/logging/json-file/ 요렇게 max-size를 지정해주면 지정한 사이즈 이상 커지지 않는다. docker-compose에서 적용은

Spring @PostConstruct

스프링으로 개발하다 보면 객체가 생성될때 초기화 작업을 하고 싶을때가 있다. 이럴때 클래스의 생성자에 코드를 많이 넣는데 만약 value injection 된 값을 가지고 할경우에 두가지 방법이 있다. 첫번째로 생성자 부분에 @Value 어노테이션을 사용해 값을 주입하는 방법 두번째로 @PostContruct를 활용하는 방법 @PostContruct는 Injection이 끝난 후에 실행되기 때문에 가능하다.

Ubuntu에서 Docker로 서비스시 주의할점

얼마전 서버에서 돌고 있는 서비스가 이유(?)도 없이 죽어 있었다. 다행이 서비스 되고 있지 않은 서비스 이여서 큰 이슈는 없었지만, 물론 서비스 되어 있었다면 모니터링을 하고 있었겠지만.. 여튼 로그를 뒤져보니…. 헉… 시스템에 돌고 있는 기본 업데이트 서비스가 도커를 업데이트 할려고 서비스를 내려 버렸… 앞으로 저런일이 생기지 않도록… 업데이트 관련 서비스를 내렸다. 우분투로 서비스를 운영할때에는 systemctl list-timers… Read More »