everydayminder

learn something everyday

Archive for the ‘TIPs’ Category

Pacemaker, Corosync, DRBD 기반으로 구성했는데, failover가 안된다?

leave a comment »

1.
만약, 이전까지 잘 되던 failover가 갑자기 되지 않는다던지,
어느 정도 부하가 걸린 환경에서, failover까지는 정상적으로 수행했으나,
failback을 시도했더니 정상적으로 수행되지 않는다면?

2.
crm_mon 명령어로 조회하면, 등록했던 리소스에 문제가 있는지/없는지 확인할 수 있다.
때때로, crm_mon 명령어로는 문제점이 나타나지 않는데도 failover가 되지 않는다면?

이럴 떄는 특정 리소스의 failcount가 INFINITY로 바뀌어 있는 경우가 있다.
이 값을 0으로 변경해 줘야 다시 failover가 정상 동작한다.

failcount를 조회하려면 다음과 같이 수행할 수 있다.

crm resource failcount 리소스명 show 노드명

이렇게 조회했더니, 특정 리소스의 failcount가 INFINITY로 나타난다면?
다음과 같이 failcount를 리셋한다.

crm resource cleanup 리소스명

그런데,
에러 메시지를 없애고자, crm resource cleanup 자원명을 수행했는데도,
failover가 되지 않는다면?

설정된 모든 노드에서 각각 failcount를 조회해보자.
각 노드에 등록된 리소스들의 failcount들 중, INFINITY가 존재한다면, 해당 노드에서 cleanup을 수행한다.
그리고 나서, 다시 failover 상황에서 검증한다.

Written by everydayminder

July 23, 2014 at 00:17

Posted in linux, TIPs

맥에서 마우스 스크롤 방향 반대로 하려면

leave a comment »

맥에서 마우스를 쓰다보면, 스크롤 방향이 반대인데 윈도우즈만 쓰던 나로서는 여간 헷갈리는 것이 아니다.

역시 검색의 힘!

시스템 환경설정 > 마우스 > 스크롤방향 : 자연스럽게
를 토글해준다. 끝.

Written by everydayminder

July 3, 2014 at 23:13

Posted in TIPs

Jira에 MySQL 연동하기

leave a comment »

어떤 방법을 선택했건, Jira를 띄울 수 있는 상태가 되었다면,
이제 MySQL을 연결해서 사용할 수 있도록 설정을 진행해보자.

1. MySQL 계정 설정
atlassian가이드에는 다음과 같이 안내되어 있다.

CREATE DATABASE jiradb CHARACTER SET utf8 COLLATE utf8_bin;
GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTER,INDEX on <JIRADB>.* TO '<USERNAME>'@'<JIRA_SERVER_HOSTNAME>' IDENTIFIED BY '<PASSWORD>';
flush privileges;

DB 접속에 사용할 계정 정보로 빈 칸을 채워넣고 실행하자.
정상적으로 grant가 되었는지는,

show grants;

를 수행하여 확인할 수 있다.

2. MySQL Connector 설치
첫 시도 시, MySQL Connector를 yum을 사용하여 다운로드하고 진행했으나,
DB 연결에서 실패하였다.

yum install mysql-connector-java

atlassian 가이드에 안내된 바와 같이, MySQL 공식 사이트로부터
(http://dev.mysql.com/downloads/connector/j) connector를 다운로드 하고 진행하니,
별 에러 없이 connection에 성공하였다.

MySQL 사이트로부터 다운로드한 파일로부터, mysql-connector-java.5.x.x-bin.jar를
찾아 jira를 설치한 곳의 lib 디렉토리에 복사한다.
(내 경우, /opt/atlassian-jira에 jira를 설치했고, /opt/atlassian-jira/lib에
해당 connector jar를 복사하였다.)

3. Jira 설정 진행
지난 포스팅에서와 같이 Jira를 설치하고, 실행시켰다면 브라우저 상에서
http://:8080으로 접속 가능할 것이다.

이제 DB 종류를 MySQL로,
접속할 주소와, 계정 정보 등을 본인이 설정한 대로 모두 입력하자.

하단의 접속 테스트를 실행하여 정상적으로 연결이 된다고 뜬다면,
다음 단계로 넘어가자.

4. 기타 설정
라이센스, 기타 정보 등을 모두 입력하고 나면,
다소 시간이 걸리지만, 설정이 모두 완료될 것이다. (내 경우는 꽤 오랜 시간이
걸려서 첫 화면이 떴다.)

5. Trouble shooting
Jira를 설치한 디렉토리의 /logs/catalina.out을 살펴보면 어떤 에러가 발생했는지
확인할 수 있을 것이다.

내 경우는,

ERROR
The Gadget Dashboard bundled plugin is not available. Please contact an administrator to ensure the Gadget Dashboard plugin is enabled!
 
Perhaps you need to log in to see the page.
If you think this message is wrong, please consult your administrators about getting the necessary permissions.

과 같은 에러가 발생하였고, atlassian 사이트에 나와 있는 안내를 참고하여,

$JIRA_HOME/plugins/.osgi-plugins를 삭제하고, Jira를 재시작 하였다.

그 이후, 다시 실행시켰더니 이번에는 몇몇 플러그인이 로딩되지 않았다고 에러 메시지가
떴다. 이 역시 atlassian 사이트로부터 bin/setenv.sh에 선언되어 있는 환경변수를 조정해 보라는
안내를 발견하여, 다음과 같이 옵션을 변경하였다.

JVM_SUPPORT_RECOMMENDED_ARGS=300

이후, Jira를 시작시켰더니 앞서 발생한 플러그인 로딩 실패와 관련한 에러는 발생하지 않고,
정상적으로 구동 되었다.

6. 정리
1) jira를 어떤 방법이든 택하여 설치
2) MySQL Connector 최신 버전 설치
3) Connector jar를 lib에 복사
4) setenv.sh내 환경변수(JVM_SUPPORT_RECOMMENDED_ARGS=300 편집, 메모리 값 조정)
5) atlassian 가이드 많이 찾아보기

Written by everydayminder

March 29, 2014 at 16:20

Posted in TIPs, tools

git 실행시 libcurl.dll에서 curl_multi_timeout 에러 발생시

leave a comment »

에러가 발생하는 원인/상황은 다양할텐데,

내 경우는 다음과 같이 조치하였다.

 

1. http://curl.haxx.se/libcurl/ 에 방문하여, libcurl.dll을 다운로드한다.

2. c:\Windows\System (32bits), c:\Windows\SystemWow64 (64bits)에

   위 단계에서 다운로드한 libcurl.dll을 복사한다.

  

  

Written by everydayminder

March 28, 2014 at 00:08

Posted in TIPs

Eclipse내 jUnit static import를 위한 설정

leave a comment »

jUnit4 이상을 사용하면서, hamcrest의 도움 없이는 온전한(가독성이 좋은) test case들을 작성하기 어렵다.

그런데, 이 jar들을 매번 import하자니 어렵고, 겨우 import해 놓으면 ctrl + shift + o를 누르는 순간 증발하기 일쑤다.

많은 개발자들도 이러한 점을 힘들어하여, 각 블로그에 여기저기 많이 남겨놓으셨다.

나도 이참에 기록을 남긴다.

1. static import할 라이브러리 등록하기

– Windows > Preferences >Java > Editor > Content Assist > Favorites 메뉴로 간다.

– New Type을 클릭하고 다음과 같은 라이브러리를 등록한다.


org.hamcrest.CoreMatchers.*

org.hamcrest.Matchers.*

org.junit.Assert.*

2. *로 대체하기 기능 설정

– Windows > Preferences > Java > Code Style > Organize Imports 메뉴로 간다.

– Number of static imports needed for .* (몇 번 이상 겹치면 *로 처리해줄까?) 의 숫자를 변경한다. (예 : 99 -> 1)

Written by everydayminder

July 10, 2013 at 10:45

Posted in java, TIPs, tools

현재 파일 경로는 어디?

leave a comment »

현재 애플리케이션이 실행되는 위치(경로)를 알기 어려울 때가 있다.

웹 애플리케이션을 작성하면서, 특정 위치에 있으려니 싶어 접근하다보면, 위치가 예상과 달라

configuration을 잡는데 의외로 많은 시간이 걸리곤 한다.

 

1. 꼼수

– 임의의 파일을 만든다.

– 해당 파일의 경로를 살펴본다.


System.out.println((new File("test.txt")).getAbsolutePath());

 

2. 보다 고급스러운 방법


System.getProperty("user.dir")

Written by everydayminder

July 10, 2013 at 10:34

Posted in java, TIPs

Eclipse의 method 템플릿을 Unsupported Operation Exception을 던지도록 바꾸자

leave a comment »

Windows > Preferences > Java > Code Style > Code Templates > Code > Method body부분을 살펴보면

기본값으로


// ${todo} Auto-generated method stub
 ${body_statement}

와 같이 지정되어 있다. 이것을 다음과 같이 바꿔서 써보자.


throw new UnsupportedOperationException();

그러면, 나중에 특정 interface를 implement하는 경우와 같이 자동으로 method를 구현시키는 경우,

자동으로 UnsupportedOperationException을 던지는 메소드를 작성하게 된다.

자동으로 구현된 메소드를 그냥 의미없이 null을 리턴하거나 아무 일도 하지 않는 채로 두는 것보다,

UnsupportedOperationException을 던지는 채로 두어야 나중에 손보게 될 확률이 높아진다. (꼭 챙기게 됨)

Written by everydayminder

July 10, 2013 at 01:07

Posted in java, TIPs

windows에서 커맨드로 telnet client 설치하기

leave a comment »

pkgmgr /iu:”TelnetClient”

Written by everydayminder

October 11, 2011 at 05:35

Posted in TIPs

Tagged with , , ,

Windows에서 DNS cache 지우기

leave a comment »

windows 자체도 DNS caching을 하므로,
콘솔에서 다음과 같이 입력한다.

ipconfig /flushdns

Written by everydayminder

April 14, 2009 at 00:43

Posted in TIPs

chm Help File 만들기

leave a comment »

chm 파일을 만들기 위해, 다음의 툴들중 하나만 있어도 손쉽게 만들 수 있다.

1. HTML Help Workshop
2. WinCHM
3. jd2chm (커맨드라인 방식)
4. EasyCHM 등

대부분의 툴들은 직관적인 메뉴를 제공하여 몇번의 클릭만으로도 손쉽게 파일을
만들 수 있다.

어떤 툴을 사용하건 간에 기억할 사항은,
“root는 실제 index.html등이 존재하는 최상의 디렉토리일 것.” 이라는 것이다.

그 밖의 조건은 사용자의 기호에 맞게 메뉴 또는 내용을 추가/삭제 하여
만들면 될 뿐이다.

실행을 위한 조건.
1. 네트워크 드라이브상의 파일은 실행이 안된다.
2. 외부에서 다운로드 받은 파일은 차단되어 있을 가능성이 있다.
   (마우스오른클릭->속성->차단해제 후 열람 가능)

꼭 모든 manual만을 chm으로 만들지 않고, 로컬 디스크의 자료 관리나 자신이 자주 애용하는 사이트들의 bookmark를 chm 형태로 만들어서 적극 활용하면 매우 좋을 것 같다.

시간내서 한 번 고민해 볼 일이다.

Written by everydayminder

August 7, 2008 at 23:45

Posted in TIPs