...
Info |
---|
본 설치 가이드는 Jira software 8.13.0 기준으로 작성 되었습니다. |
사전 준비
NFS 설정 - NFS 설정 참조
Apache Load Balancer 설정(root 계정 - Ubuntu 설정)
Code Block language bash $ cd /etc/apach2/sites-available $ sudo a2enmod headers proxy_balancer proxy_http proxy lbmethod_byrequests slotmem_shm ## 모듈 활성화 $ vi dcjira.twoseed.co.kr.conf ## 원하는 이름으로 .conf 파일 생성 --------------------------- <VirtualHost *:80> ServerName dcjira.twoseed.co.kr Header add Set-Cookie "ROUTEID=.%{BALANCER_WORKER_ROUTE}e; path=/" env=BALANCER_ROUTE_CHANGED <Proxy balancer://jiracluster> BalancerMember http://***.***.48.220:7180 route=node1 BalancerMember http://***.***.124.236:7180 route=node2 Order Allow,Deny Allow from dcjira.twoseed.co.kr Satisfy Any </Proxy> ProxyPass / balancer://jiracluster/ stickysession=ROUTEID </VirtualHost> ---------------------------- $ sudo a2ensite dcjira.twoseed.co.kr.conf ## 사이트 활성화 $ sudo service apache2 reload ## apach 서버 다시 시작
JIRA Data Center 설정
1. JIRA node1 설정
...
Expand | |||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||
|
Install, Home directory 백업 및 node2에 복사
Code Block language bash $ cd /opt/datacenter/atlassian $ tar cvfz jira_install.tgz jira/ $ cd /home/datacenter/atlassian $ tar cvfz jira_home.tgz jira/
...
JIRA node1 인스턴스 시작
Code Block language bash $ cd /opt/datacenter/atlassian/jira/bin $ ./start-jira.sh
JIRA node2 인스턴스 시작
Code Block language bash $ cd /opt/datacenter/atlassian/jira/bin $ ./start-jira.sh
Apache 서버에 적용한 URL 접속
Administrator > System > Clustering 에서 각 node 상태 확인 가능
Trouble Shooting
클러스터링에서 Node가 하나만 올라와 있는 경우
atlassian-jira.log에서 아래와 같이 에러 발생
Code Block |
---|
localhost-startStop-1 ERROR [c.a.jira.upgrade.PluginSystemLauncher] A fatal error occured during initialisation. JIRA has been locked.
com.atlassian.jira.InfrastructureException: Error occurred while starting Plugin Manager. Unable to resolve component: interface com.atlassian.plugin.SplitStartupPluginSystemLifecycle
...
at com.atlassian.jira.cluster.distribution.JiraCacheManagerPeerProvider.lambda$wrapCachePeer$4(JiraCacheManagerPeerProvider.java:112)
Caused by: java.rmi.NoSuchObjectException: no such object in table
at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:276)
at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:253)
at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:162)
at net.sf.ehcache.distribution.RMICachePeer_Stub.getName(Unknown Source) |
setenv.sh 에 아래 구문 추가
-Djava.rmi.server.hostname=<호스트네임(ehcache.listener.hostName)과 동일하게 입력>
...