14.3 Terminal 접근
Terminal은 데이터 분석을 수행하기 위한 환경 구성, 파일 관리를 위한 작업 거점이자 Slurm·Spark로 향하는 진입점입니다. 이 장에서는 Jupyterhub에서 Terminal에 접속하고, 작업 환경을 확인하고, conda로 분석 패키지를 구성하는 방법을 설명합니다.
14.3.1 Jupyterhub -> Terminal
Jupyterhub의 Launcher 화면 하단에 있는 Terminal 아이콘을 선택하면 Pod 내 본인의 계정에 할당된 위치로 연결된 Terminal 창이 나타납니다.
📸 화면
<Jupyterhub Launcher 화면과 Terminal 화면>
14.3.2 작업 디렉토리 및 마운트 확인(개정 예정)
공유 스토리지가 정상적으로 마운트되어 있는지 확인합니다.
bash
# 공유 스토리지 마운트 확인
df -h | grep -i shared # 또는 ${SHARED_ROOT} 기준으로 확인
ls -ld ${SHARED_ROOT}
# 개인 작업 영역 확인 및 이동
ls -ld ${WORK_DIR}
cd ${WORK_DIR}데이터 위치 원칙
분석 데이터와 스크립트는 공유 스토리지(${WORK_DIR} / ${PROJECT_DIR}) 에 둡니다. Pod 컨테이너 내부의 로컬 경로(예: /tmp, 홈 일부)는 Pod 재시작 시 사라질 수 있고, Slurm·Spark에서 보이지 않습니다. 보존·공유가 필요한 모든 산출물은 공유 스토리지에 저장하세요.
14.3.3 conda 환경 구성 (내부 repository)
Pod의 분석 패키지는 내부 conda repository(${CONDA_CHANNEL})로 설치합니다. 폐쇄망이므로 외부 채널(anaconda.org 등)은 사용하지 않습니다.
내부 채널 설정:
bash
# 외부 기본 채널 비활성화 후 내부 채널만 사용
conda config --remove-key channels 2>/dev/null || true
conda config --add channels ${CONDA_CHANNEL}
conda config --set channel_priority strict
# 설정 확인
conda config --show channels분석용 환경 생성·활성화(환경은 공유 스토리지에 두는 것을 권장):
bash
# 공유 스토리지에 환경을 만들면 재현·재사용이 쉬움
conda create -p ${CONDA_ENV_DIR}/analysis python=3.10 -c ${CONDA_CHANNEL}
conda activate ${CONDA_ENV_DIR}/analysis
# 필요한 패키지 설치 (예시)
conda install -c ${CONDA_CHANNEL} numpy pandaspip 사용 시
pip가 필요한 경우에도 외부 PyPI는 차단되어 있는 대신, 내부 미러/인덱스가 기본 인덱스로 지정되어 이용 가능합니다.
Hail은 Pod에 설치하지 않음
Hail 분석은 Spark 클러스터에서 수행합니다(7장). Pod의 conda 환경에 Hail을 설치해 단독 실행하려 하지 마세요. 버전·자원 구성이 운영팀이 준비한 Spark 환경과 어긋나 문제가 생길 수 있습니다.
14.3.5 Jupyter Terminal에서 Slurm·Spark 연결 점검
Jupyter Terminal에서 두 클러스터로 네트워크가 닿는지 확인합니다.
bash
# Slurm 로그인 노드 SSH 포트 확인
nc -zv ${SLURM_LOGIN_HOST} ${SLURM_SSH_PORT}
# Spark 마스터 포트 확인
nc -zv ${SPARK_MASTER_HOST} ${SPARK_MASTER_PORT}succeeded 또는 open이 표시되면 연결 가능한 상태입니다. 실패하면 호스트/포트 값(2장)과 방화벽 정책을 운영팀에 확인하세요.
Slurm·Spark 접근 권한
Slurm과 Spark는 사용자 포털에서 과제 신청시 추가로 신청하고 승인된 경우에만 제공됩니다. 해당 자원을 신청하지 않거나 승인 받지 않은 경우 연결되지 않는 것이 정상입니다. 사용자 포털에서 연구과제의 변경 신청을 통해 추가 컴퓨팅 자원을 신청 및 승인 후 이용하시기 바랍니다.
📸 화면
<Slurm·Spark 포트 연결 확인 성공 출력>