Info |
---|
이 가이드는 Confluence Data Center 6.5 이상에 적용됩니다. 이전 버전의 Data Center를 사용하는 경우 Confluence 6.4 및 이전 버전의 Linux에서 Synchrony 독립형을 서비스로 실행을 참조. |
목차
Table of Contents |
---|
개요
Confluence Data Center 6.5 이상에서 사용하기 위해 Linux의 독립형 노드 또는 클러스터에서 Synchrony를 서비스로 실행하는 방법을 설명합니다.
...
Code Block |
---|
# Synchrony 디렉토리 복사
$ cp -r <Confluence Install Directory>/bin/synchrony <Synchrony Home Directory>
# Synchrony 파일 복사
$ cp <Confluence Home Directory>/synchrony-standalone.jar <Synchrony Home Directory>
# 데이터 베이스 드라이버 복사
$ cp <Confluence Install Directory>/confluence/WEB-INF/lib/<Database Driver> <Synchrony Home Directory>
|
Synchrony 홈 디렉토리 리스트
synchrony-standalone.jar
start-synchrony.sh
stop-synchrony.sh
install_synchrony_service.sh
<Database Driver> 예: )
postgresql-9.4.1212.jar
2. Synchrony 설정
Code Block |
---|
vi <Synchrony Home Directory>/start-synchrony.sh |
...
start-synchrony.sh 구성 예시
Code Block | ||
---|---|---|
| ||
#!/bin/bash # Parse the Synchrony home folder from the script location #SYNCHRONY_HOME="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" SYNCHRONY_HOME="/opt/datacenter/atlassian/synchrony" ################################## Parameters to configure ################################## SERVER_IP="14.36.48.220" DATABASE_URL="jdbc:postgresql://14.36.48.220:5432/dcwikidb" DATABASE_USER="dcwikidbuser" DATABASE_PASSWORD="dcwikidbuser" # # Uncomment this section if you want to do node discovery using TCP/IP # # Comma separated list of IP addresses for each cluster node TCPIP_MEMBERS="14.36.48.220,175.197.124.236" CLUSTER_JOIN_PROPERTIES="\ -Dcluster.join.type=tcpip \ -Dcluster.join.tcpip.members=${TCPIP_MEMBERS}" # Locations of the synchrony-standalone.jar and database driver jar DATABASE_DRIVER_PATH="/opt/datacenter/atlassian/synchrony/#postgresql-42.2.8.jar" SYNCHRONY_JAR_PATH="/opt/datacenter/atlassian/synchrony/synchrony-standalone.jar" SYNCHRONY_URL="http://dcconfluence.twoseed.co.kr:7091/synchrony" OPTIONAL_OVERRIDES="-Dsynchrony.port=7091 -Dcluster.listen.port=6851" # Path to file where Synchrony PID will be stored # If you change this, you'll also need to set this value in 'stop-synchrony.sh' SYNCHRONY_PID_FILE="${SYNCHRONY_HOME}/synchrony.pid" # Optionally configure JVM JAVA_BIN="java" JAVA_OPTS="-Xms2048m -Xmx2g" ############################################################################################# # check for help prompt or if user has tried to run the script without editing it if [ "$1" = "--help" ] || [ "$1" = "-h" ] || [ -z "${CLUSTER_JOIN_PROPERTIES}" ]; then echo "Edit this file to provide Synchrony information on how to run." echo "Then simply run 'start-synchrony.sh' or 'start-synchrony.sh -fg' (to run the process in the foreground)" echo "For more information about configuring Synchrony, visit https://confluence.atlassian.com/display/DOC/Configuring+Synchrony+for+Data+Center" exit fi # don't try to start Synchrony if another process is already running if [ ! -z "${SYNCHRONY_PID_FILE}" ] && [ -f "${SYNCHRONY_PID_FILE}" ]; then if [ -s "${SYNCHRONY_PID_FILE}" ] && [ -r "${SYNCHRONY_PID_FILE}" ]; then PID=$(cat ${SYNCHRONY_PID_FILE}) if [ ! -z "${PID}" ]; then process=$(ps -fp "${PID}" | grep synchrony.core) if [ -z "${process}" ]; then echo "Unable to find Synchrony process with corresponding PID. Removing synchrony.pid file!" rm -f "${SYNCHRONY_PID_FILE}" >/dev/null 2>&1 else echo "Synchrony appears to still be running with PID ${PID}. Start aborted." echo "If the following process is not a Synchrony process, remove ${SYNCHRONY_PID_FILE} and try again." ps -f -p "${PID}" exit 1 fi fi else echo "Please remove ${SYNCHRONY_PID_FILE} and try to start Synchrony again." exit 1 fi fi # try to source env file if it exists if [ -f "${SYNCHRONY_ENV_FILE}" ]; then if [ -x "${SYNCHRONY_ENV_FILE}" ]; then source ${SYNCHRONY_ENV_FILE} else echo "Synchrony environment file ${SYNCHRONY_ENV_FILE} exists, but isn't executable." echo "If you want to set Synchrony properties this way, stop Synchrony and adjust the file format accordingly." fi fi _RUNJAVA="${JAVA_BIN} ${JAVA_OPTS}" SYNCHRONY_OPTS="-classpath ${SYNCHRONY_JAR_PATH}:${DATABASE_DRIVER_PATH}" SYNCHRONY_OPTS="${SYNCHRONY_OPTS} -Dsynchrony.service.url=${SYNCHRONY_URL}" SYNCHRONY_OPTS="${SYNCHRONY_OPTS} -Dsynchrony.bind=${SERVER_IP}" SYNCHRONY_OPTS="${SYNCHRONY_OPTS} ${CLUSTER_JOIN_PROPERTIES}" SYNCHRONY_OPTS="${SYNCHRONY_OPTS} ${OPTIONAL_OVERRIDES}" [ -z "${SYNCHRONY_DATABASE_URL}" ] && SYNCHRONY_OPTS="${SYNCHRONY_OPTS} -Dsynchrony.database.url=${DATABASE_URL}" [ -z "${SYNCHRONY_DATABASE_USERNAME}" ] && SYNCHRONY_OPTS="${SYNCHRONY_OPTS} -Dsynchrony.database.username=${DATABASE_USER}" [ -z "${SYNCHRONY_DATABASE_PASSWORD}" ] && SYNCHRONY_OPTS="${SYNCHRONY_OPTS} -Dsynchrony.database.password=${DATABASE_PASSWORD}" if [[ ${@} == *"-fg"* ]]; then ${_RUNJAVA} ${SYNCHRONY_OPTS} synchrony.core sql else echo "To run Synchrony in the foreground, start the server with start-synchrony.sh -fg" ${_RUNJAVA} ${SYNCHRONY_OPTS} synchrony.core sql > /dev/null 2>&1 & # Getting the PID of the process PID=$! echo $PID > "${SYNCHRONY_PID_FILE}" echo "Starting Synchrony with PID ${PID}..." echo "Binding: ${SERVER_IP}" echo "overrides: ${OPTIONAL_OVERRIDES}" echo "Please wait 30 seconds, then check this heartbeat URL in your browser for an 'OK': ${SYNCHRONY_URL}/heartbeat" fi |
...
Code Block |
---|
$ ./<Synchrony Home Directory>/install_synchrony_service.sh |
5. Synchrony 실행 에러 로그
Code Block |
---|
$ ./<Synchrony Home Directory>/start-synchrony.sh -fg |
6. Confluence 설정
Code Block |
---|
$ vi <Confluence Install Directory>/bin/setenv.sh ... # Synchrony service URL 추가 CATALINA_OPTS="-Dsynchrony.service.url=http://dcconfluence.twoseed.co.kr:7091/synchrony/v1 ${CATALINA_OPTS}" |