Develope/Programming 21

[Jolokia] Tomcat + JMX + Jolokia + Telegraf

제안서 항목의 일환으로 telegraf 와 jolokia 연동을 맡았다. 뭐.. 수정할 여력이 생긴다면 수정하겟드아 *참고 : 졸로키아의 proxy mode 와 agent 모드..... 가 바뀐거같다 근데 아무리봐도 아키텍쳐 설계 그림보면 아닌데.... 두가지 방법이 잇는거같은데 차이점은 알겟는데 뭐가몬지 모르겟다 글이 왜 깨지지? 설치Tomcat 설치wget http://mirror.navercorp.com/apache/tomcat/tomcat-8/v8.5.31/bin/apache-tomcat-8.5.31.tar.gz tar -xvf apache-tomcat-8.5.31.tar.gz Jolokia 설치 https://jolokia.org/tutorial.htmlcd apache-tomcat-8.5.31..

[JAVA] Gmail API 이용해서 메일 보내기 (파일 첨부)

이곳저곳 참고했다. 라이브러리는 아래 com.sun.mail javax.mail 1.5.4 1.6.0 까지 나온 것 같은데 사용하는데 문제는 없음 import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; import javax.activation.DataHandler; import javax.activation.DataSource; import javax.activation.FileDataSource; import javax.mail.*; import javax.mail..

[Kafka] 1. 카프카 설치 및 실행 (분산 클러스터링)

Kafka의 카테고리를 하나 팔까 했지만, 쉬운 개념인 만큼 많은 글이 올라올 것 같진 않다. == 내가 깊게 코딩할꺼같지 않다 ^^ 한치앞도 모르는 나년... Kafka Stream 포스팅 예정... 1. Kafka 설치홈페이지 : https://kafka.apache.org/quickstart 1-1. 다운로드주소 : https://kafka.apache.org/downloads0.10의 scala 2.11버전을 설치햇다. tar -xvf kafka_2.11-0.10.2.1.tgz.gz *현재 1.0버젼이다 0.10과는 매우매우매우 다르다. 특히 API쪽이 1-2. 환경설정1) Zookeeper : config/zookeeper.properties- Kafka는 zookeeper를 따로 실행할 수 있..

[JAVA] 2차원 배열 Deep copy, swallow Copy

배열을 쓰다보면 복사도 자주 하게 되는데 a[i] = b[i] 이런식으로 복사를 하다가는 한쪽의 값을 수정하면 다른 한쪽의 값도 함께 변경되는 병신같은 일이 일어난다. 애초에 = 이라는 연산자는 주소를 이어준다는 의미이기 때문인데 이를 Swallow Copy. 얕은 복사라고 한다. 좋은 글이 있으니 첨부한다. 얕은 복사와 깊은 복사를 이해하는데 좋은 글 http://library1008.tistory.com/47https://blueshw.github.io/2016/01/20/2016-01-20-shallow-copy-deep-copy/ 이를 타개하기 위해서는 내가 자주쓰는 ArrayList는 list.copyAll() 함수를 지원해주기에 문제없는데 (list.addAll() 도 많이 쓴다.) 배열이 문..

ElasticSearch - 2. Index Rolling

2. 인덱스 롤링 2-1. 개요홈페이지 번역 문서를 보면 인덱스 롤링에 관한 문서가 있다.인덱스 롤링을 aliase, 별칭을 통해 지정하는데, https://iju707.gitbooks.io/elasticsearch/content/indices-rollover-index.html 설명서 번역본이다. 2-2. 설정 1) template 수정test 템플릿으로 가서, 다음과 같이 추가하였다. .... "settings": { "index.number_of_shards": 3, "index.mapping.total_fields.limit": 10000, "index.refresh_interval": "5s" }, "aliases": { "test_aliase": {} }, "template": "test*"}..

[JAVA] 함수 주기적으로 돌리기 (스케쥴링)

요약스케쥴링 기법 : scheduleAtFixedRate, 쿼츠, Spring Task, Spring aop 내가 주로 만드는 프로세스는 수집 프로세스인데 통계성 데이터의 경우 하루에 한번, 혹은 일주일에 한번, 한시간에 한번 등 작업을 한다 주로 하루에 한번한다. 쉘 스크립트를 만들어서 crontab에 올려도되지만, 그렇게 되면 서버마다 크론탭에 등록해야 하고, 권한문제 등 충돌이 일어날 수 있어서 웬만하면 자바 프로세스 상에서 스케쥴링 하는 것이 좋다. 이 때 이용하는 것이 Timer 클래스의 Schedule 관련 함수이다 void schedule(TimerTask task, Date time)지정한 시간(time)에 지정한 작업(task)을 수행한다. void schedule(TimerTask ta..

ElasticSearch - 1. Unsigned Shards관련 테스트

1. Unsigned Shards관련 테스트참고1: https://www.elastic.co/guide/en/elasticsearch/reference/current/shards-allocation.html참고2 : http://asuraiv.blogspot.kr/2015/04/elasticsearch-rolling-restarts.html참고3 : http://nkcnow.tistory.com/152참고4: http://jjeong.tistory.com/956참고5: http://guruble.com/?p=85 1) 정상 작동 중 : Test용 Slave3 Node 추가 2) Node 삭제 : Unsigned Shard 발생, Status - Yellow 3) unsigned shard가 Slave2에..