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).