Skip to content

14.1 환경 변수 정보 ​

이 장은 주요 디렉토리 또는 호스트명과 같이 변경 가능성이 있는 공통 정보를 모아두고 변수로 지정하여 참조할 수 있는 방법을 제시합니다.

작성 안내

아래 표의 (미확정) 칸은 환경이 확정된 후 업데이트될 예정입니다. 본문 다른 장에서는 이 값들을 ${변수명} 형태로만 참조합니다.

14.1.1 시스템별 접속 정보 ​

변수명의미값
${SLURM_LOGIN_HOST}Slurm 로그인 노드 호스트명(미확정)
${SLURM_SSH_PORT}Slurm 로그인 노드 SSH 포트(미확정, 기본 22)
${SLURM_PARTITION}기본 사용 파티션(큐) 이름(미확정)
${SPARK_MASTER_HOST}Spark 마스터 호스트명(미확정)
${SPARK_MASTER_PORT}Spark 마스터 포트(미확정, 통상 7077)
${SPARK_UI_PORT}Spark Web UI 포트(미확정, 통상 8080 / 작업 UI 4040)

14.1.2 공유 스토리지 경로 ​

변수명의미값
${SHARED_ROOT}공유 스토리지 최상위 마운트 경로(미확정)
${WORK_DIR}개인 작업 영역(미확정, 예: ${SHARED_ROOT}/users/${LDAP_USER})
${PROJECT_DIR}과제 공용 영역(미확정, 예: ${SHARED_ROOT}/projects/${PROJECT_CODE})
${SCRATCH_DIR}임시/스크래치 영역(주기적 정리 대상)(미확정, 예: ${SHARED_ROOT}/scratch/${LDAP_USER})
${DATA_DIR}입력 데이터(원본) 영역(미확정)

동일 경로 원칙

공유 스토리지는 세 시스템에 동일한 경로로 마운트됩니다. 즉 Pod에서 ${WORK_DIR}/script.py로 보이는 파일은 Slurm·Spark에서도 같은 경로로 보입니다. 시스템 간 파일을 복사하지 마세요. 경로만 맞추면 됩니다.

14.1.3 소프트웨어 환경(conda) 정보 ​

변수명의미값
${CONDA_CHANNEL}사내 내부 conda 채널 URL/이름(미확정)
${CONDA_ENV_DIR}conda 환경 저장 위치(공유 스토리지 권장)(미확정, 예: ${WORK_DIR}/envs)

Spark는 conda 대상 아님

Pod와 Slurm의 분석 패키지는 사내 conda repository로 설치합니다. Spark는 Hail 전용으로 운영되며, 사용자가 임의로 패키지를 설치하는 대상이 아닙니다. Spark의 Hail/Python/Java 버전은 운영팀이 사전 구성한 환경을 그대로 사용합니다.

14.1.5 변수 사용 규칙과 환경 파일 템플릿 ​

매번 값을 손으로 치환하면 실수가 생기기 쉽습니다. 아래처럼 개인 환경 파일을 만들어 두고 source 하면, 본문의 명령 예시를 거의 그대로 사용할 수 있습니다.

퍄 ~/env.sh 실행 예시:

bash
# ~/env.sh
export PROJECT_CODE="(미확정)"

# Slurm
export SLURM_LOGIN_HOST="(미확정)"
export SLURM_SSH_PORT="22"
export SLURM_PARTITION="(미확정)"

# Spark (Hail)
export SPARK_MASTER_HOST="(미확정)"
export SPARK_MASTER_PORT="7077"
export SPARK_UI_PORT="8080"

# Storage
export SHARED_ROOT="(미확정)"
	export WORK_DIR="${SHARED_ROOT}/users/${LDAP_USER}"
export PROJECT_DIR="${SHARED_ROOT}/projects/${PROJECT_CODE}"
export SCRATCH_DIR="${SHARED_ROOT}/scratch/${LDAP_USER}"
	spark slurm private
	경로별 권한, 소유,그룹

# conda
export CONDA_CHANNEL="(미확정)"
export CONDA_ENV_DIR="${WORK_DIR}/envs"
bash
source ${WORK_DIR}/env.sh
echo "$SLURM_LOGIN_HOST"   # 값이 출력되면 정상

WARNING

env.sh에는 비밀번호를 저장하지 마세요. 호스트명·경로 같은 비밀이 아닌 값만 보관합니다. 파일 권한도 본인만 읽도록 제한하는 것을 권장합니다(chmod 600).