Tomcat 운영할 때 JAVA_OPT 설정을 조심해서 사용하자. 지금 프로젝트를 진행 중인 회사에서 Java Agent를 이용해서 APM을 만들고 있다. APM 운영을 위한 첫번째 검증 대상은 TOMCAT에서 구동되는 Web Application 을 기준으로 작업을 진행 중에 아주 이상한(?) 상황을 만나게 되어 문제의 원인을 찾아보다가 아주 황당한 이유를 알게되어 정리를 해 놓도록 한다. 테스트를 진행할 때 Eclipse에서라면 Servers의 Launch configuration 화면을 통해서 VM arguments에 Agent 정보를 제공하게 된다. -javaagent:"Path to agent\msfl-study-bootstrap-0.0.1-SNAPSHOT.jar" Shell 환경에서 처리를 한..
별다른 상황이 없다면 개발하는 동안에 Eclipse 에서 Servers 로 Tomcat 을 등록하고 Publish 를 하고 사용하게 된다. 그러나 상황에 따라서는 Eclipse 를 이용하지 않고 Tomcat 에 직접 배포를 해서 테스트를 해야하는 상황이 발생하게 된다. 이 글을 작성하게 된 것도 Eclipse에서 Tomcat 를 실행하면 아무 문제 없는데 테스트 서버에 배포를 해서 실행하게 되면 Tomcat 실행 중에 오류가 발생하는 것 때문이다. 임시로 간략하게 테스트 한 것을 정리해 놓도록 한다. Tomcat 은 설치 버전이 아니라 Zip 배포 버전을 사용하였고, 위치는 D:\Tomcat7 이며, 웹 어플리케이션은 test-apps (프로젝트 명)라고 가정하고 테스트를 진행하도록 한다. (단, 하기의..
개발을 진행하다 보면 Exception 정보의 중요성을 무시하는.. 아니 관심이 없는 개발자들을 많이 본다. Exception 정보야 말로 문제 해결의 근본적인 요소인데 말이다. 그리고 많이 헷갈리는 것 중에 하나가 바로 throw 와 throw(ex) 의 차이점이다. [ throw vs throw(ex) ] 그냥 보기에는 이 둘에는 차이점이 전혀 없어 보인다. 그러나 명확한 차이점이 존재한다. try{ ... } catch (Exception ex) { throw; } 위의 코드는 catch로 Exception을 잡고 그냥 다시 throw 를 하는 것이고 try{ ... } catch (Exception ex) { throw(ex); } 위의 코드는 catch로 Exception을 잡고 그 Except..
유독 머리에 제 자리를 잡지 못하는 것들 중에 하나인 정규 표현식 (Reqular Expression) 을 또 써야할 상황이 발생해서 다시 한번 정리를 해 놓는다. (언젠가 또 멍청하게 까먹고 다시 정리한다고 하겠지만.. 쩝) 확장자 검증하기 (샘플) 우선 사용하려고 하는 실제 사례에 대한 의미를 확인해 보도록 하자. 실제 적용하여야 하는 부분은 특정한 문자열 (URL, File Path 등...) 에서 이미지 확장자를 제거하는 부분이다. 쉽게 사용할 수 있는 정규식은 다음과 같이 적용이 가능하다. ([^\s]+(\.(?i)(jpg|png|gif|bmp))$) 위의 정규식을 이해하기 위해서 하나씩 끌어내 보면 다음과 같이 해석할 수 있다. ( # 그룹 1의 시작 [^\s]+ # 공백을 제외한 하나 또는 ..
발생 환경 현재 프로젝트에서 Dropwizard를 적용하고 있는데, Mesos와 연계할 부분이 생겨서 Mesos Client를 구성하고 Ning을 사용해서 비동기 Http 클라이언트를 구성하였다. 그런데 디버그 모드일 때는 상관이 없지만 (아마도 처리가 되는 시간적인 부분이 있는 듯 하다) 실행에서 java.io.IOException: Unable to establish loopback connection 오류가 발생하는 것을 확인하였다. 오류 메시지 4047 ERROR 2015-02-26 14:01:13 [main] com.ning.http.client.AsyncHttpClient[loadDefaultProvider:561] -Unable to instantiate provider com.ning.ht..
요즘 진행하고 있는 Docker 관련한 프로젝트에서 여러 가지 오픈 소스들을 검토하고 적용하면서 새로운 플랫폼으로서의 활용도를 검증하고 있다. 그런데 많은 오픈 소스들이 Go, Ruby, Python, Scala 와 같은 내게는 이질적인 언어들을 사용하고 있는 관계로 이번에 Python에 도전해 보도록 한다. ㅠㅠ 우선 첫 걸음으로 Hello World!를 출력해 보도록 하자. Python 설치 Python (이하 파이썬)의 안정화 버전은 파이썬2 기준으로 2.7.9와 파이썬3 기준으로 3.4.2가 발표된 상태이며, 파이썬3와 파이썬2가 서로 호환성이 높지 않기 때문에 별도로 버전이 진행되고 있으므로 필요한 버전으로 설치를 하면 된다. 파이썬의 설치 파일은 python.org/download에서 msi를..
apt-get update 명령을 사용해서 처리를 수행할 때 중간에 파일 Not found (404, …) 등으로 오류가 발생할 수 있다. 대 부분의 경우는 실제 구성 패키지의 일부 파일들이 다운로드되지 않아서 패키지의 Hash sum 값이 틀리다는 오류다. 원인은 Archive 파일이 잘 못된 경우도 존재하지만 거의 대부분은 네트워크가 느려서 발생하는 경우로 이 때는 좀 더 빠른 사이트로 변경을 해 주면 문제없이 해결할 수 있다.패키지 소스에 대한 정보는 /etc/apt/sources.list 파일에 존재한다. 해당 파일을 확인해 보면 사이트가 archive.ubuntu.com 으로 지정되어 있는데 무선 접속이나 통신망이 원할하지 않는 경우는 큰 패키지 처리 시에 위와 같은 오류가 지속적으로 발생한다...
References 원문 : https://github.com/patrickhoefler/coreos-vagrant-kubernetes/blob/master/Vagrantfile 이 글은 원문의 내용을 기준으로 여러 가지를 테스트하면서 나름대로 정리한 내용으로 Vagrant를 사용해서 CoreOS, CoreOS Cluster, Kubernetes 까지 설정하는 방법을 로컬 머신에서 설정해 보는 것을 정리하도록 한다. 기본 설치 작업에 필요한 바이너리와 프로젝트등은 모두 GitHub를 통해서 얻게 되므로 로컬 머신에 Git 가 설치되어 있어야 하며 아래의 모든 명령들은 Git Bash 를 기준으로 한 것이다. 필요 도구 설치 로컬 머신에 단일 CoreOS 를 구성하는 작업을 먼저 진행하기 위해서는 다음과 ..
Notes DataImport 처리에 대해서 처음 접하는 경우는 아래와 같은 정보를 사전에 검토해야 한다. DataImport 처리를 처음 구성하는 경우는 이미 많은 정보들이 존재하므로 찾아서 검토를 하고, DataImport 와 관련된 다음의 정보를 검토해야 한다. DataImport 처리할 때 주의할 점 DataImport 에서 last_index_time 의 의미와 사용법 Quartz Schedule 을 이용한 DataImport 작업 수행 그리고 실제 작업을 진행하면서 만났던 오류를 기준으로 정리한 것으로 다른 원인과 다른 오류가 더 많을 수 있으므로 Solr관련 정보를 확인해야 한다. DataImport on SolrCloud 단일 서버에 구성했던 Solr 로 DataImport 를 처리하는 것..
[ 참고 및 주의 사항 ] 여기에 정리된 내용은 원문을 기준으로 여러 가지 테스트와 문제점의 검토 및 해결책을 찾으면서 나름대로 정리한 내용으로 오역과 잘 못 이해하고 정리한 부분이 있을 수 있습니다. 또한 원문의 Solr 버전이 지금 테스트를 진행하고 있는 4.10.2 버전과 다르기 때문에 내용을 잘 확인하면서 진행해야 합니다. SolrCloud Collection 디자인 SolrCloud 를 운영하기 위해서는 Cluster를 디자인을 하는 것이 가장 중요한 부분이다. 개념적으로는 SolrCloud Cluster 내에서 Collection 과 Shard 는 논리적인 요소로 여러 개의 물리적인 Core 들의 집합을 형성하기 위한 것이다. 샘플 테스트를 위해서 다음과 같이 Cluster를 디자인 한 것으로..
- Total
- Today
- Yesterday
- GIT
- Kudo
- Packages
- k8s
- operator
- macos
- CentOS 8
- opencensus
- NFS
- operator framework
- 쿠버네티스
- Replica
- leader
- SolrCloud
- kudo-cli
- ssh
- provisioner
- collection
- terrminating
- galera
- zookeeper
- Node
- CentOS
- Cluster
- Kubernetes
- KUBECTL
- Galera Cluster
- custom resource
- dynamic nfs client provisioner
- docker
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |