[Cloud] 05. HTCondor 클러스터 구축 (CentOS 7 기준)

Date:     Updated:

카테고리:

태그:


01. HTCondor 구축



■ 노드 구성

1111


■ Master 노드 설치 및 설정

# 1) HTCondor 설치 및 방하벽 오픈

$ yum -y install epel-release ; \
yum -y install condor; \
firewall-cmd --zone=public --permanent --add-port=9000-9999/tcp ; \
firewall-cmd --zone=public --permanent --add-port=9000-9999/udp ; \
firewall-cmd --zone=public --permanent --list-ports ; \
firewall-cmd --reload
# 2) condor_config.local 파일 생성

$ vi /etc/condor/config.d/condor_config.local

# HTCondor Master 노드의 FQDN을 설정
UID_DOMAIN = master.cloud.org
# 쓰기가 가능한 머신들을 리스트함, HTCondor 클러스터 내의 모든 머신들을 쓰기가 가능하도록 설정
ALLOW_WRITE = *.cloud.org 
# HTCondor의 condor_collector가 동작하고 있는 머신을 지정
CONDOR_HOST = master.cloud.org 
# 입력 포트 중 가장 높은/낮은 포트 번호를 지정 - 포트 범위를 지정
IN_HIGHPORT = 9999
IN_LOWPORT = 9000
# 네트워크 인터페이스 지정
NETWORK_INTERFACE = ens32 
# HTCondor의 데몬들을 나열함
# MASTER : condor_master 데몬을 의미, HTCondor의 전체적으로 모니터링 한다.
# SCHEDD : condor_schedd 데몬을 의미, HTCondor 클러스터에 제출된 작업의 스케줄링을 담당한다.
# COLLECTOR : condor_collector 데몬을 의미, HTCondor 클러스터내의 머신들에 대한 정보를 수집하는 역할을 한다.
# NEGOTIATOR : condor_negotiator 데몬을 의미, HTCondor에 제출된 작업과 이 작업을 수행할 수 있는 머신 간의 매칭을 해주는 역할을 한다.
DAEMON_LIST = MASTER, SCHEDD, COLLECTOR, NEGOTIATOR
# 3) 서비스 재실행

$ systemctl start condor


$ systemctl status condor
● condor.service - Condor Distributed High-Throughput-Computing
   Loaded: loaded (/usr/lib/systemd/system/condor.service; disabled; vendor preset: disabled)
   Active: active (running) since Tue 2023-12-12 16:33:09 KST; 11s ago
  Process: 1708 ExecStop=/usr/sbin/condor_off -master (code=exited, status=0/SUCCESS)
 Main PID: 1710 (condor_master)
   CGroup: /system.slice/condor.service
           ├─1710 /usr/sbin/condor_master -f
           ├─1718 condor_procd -A /var/run/condor/procd_pipe -L /var/log/condor/ProcLog -R 1000000 -S 60 -C ...
           ├─1719 condor_collector -f
           ├─1720 condor_schedd -f
           └─1721 condor_negotiator -f


■ Worker 노드 설치 및 설정

# 1) HTCondor 설치 및 방화벽 설정

$ yum -y install epel-release ; \
yum -y install condor ; \
firewall-cmd --zone=public --permanent --add-port=9000-9999/tcp ; \
firewall-cmd --zone=public --permanent --add-port=9000-9999/udp ; \
firewall-cmd --zone=public --permanent --list-ports ; \
firewall-cmd --reload
# 2) condor_config.local 파일 생성 및 서비스 재실행

$ vi /etc/condor/config.d/condor_config.local 

UID_DOMAIN = slave1.cloud.org # slave2.cloud.org 서버에서는 "slave2.cloud.org로 변경
ALLOW_WRITE = *.cloud.org
CONDOR_HOST = master.cloud.org
IN_HIGHPORT = 9999
IN_LOWPORT = 9000
NETWORK_INTERFACE = ens32
# STARTD : condor_startd 데몬을 의미, HTCondor 클러스터에 제출된 작업을 실행하는 역할을 한다.
DAEMON_LIST = MASTER, STARTD


$ systemctl start condor


$ systemctl status condor
● condor.service - Condor Distributed High-Throughput-Computing
   Loaded: loaded (/usr/lib/systemd/system/condor.service; disabled; vendor preset: disabled)
   Active: active (running) since Tue 2023-12-12 16:33:48 KST; 1min 57s ago
 Main PID: 1678 (condor_master)
   CGroup: /system.slice/condor.service
           ├─1678 /usr/sbin/condor_master -f
           ├─1686 condor_procd -A /var/run/condor/procd_pipe -L /var/log/condor/ProcLog -R 1000000 -S 60 -C ...
           └─1687 condor_startd -f


■ Master 노드 - 클러스터 구성 확인

# condor_status - 클러스터 구성 확인 명령 (slave 서버에서도 사용 가능)
# 워코 노드 "slave1", "slave2" 는 코어가 1개인 가상머신이기 때문에 HTCondor 클러스터는 총 2개의 슬롯(Slot)을 가진 클러스터가 된다.
[root@master ~]# condor_status
Name               OpSys      Arch   State     Activity LoadAv Mem   ActvtyTime

slave1.cloud.org   LINUX      X86_64 Unclaimed Idle      0.020 1819  0+00:00:04
slave2.cloud.org   LINUX      X86_64 Unclaimed Idle      0.000 1819  0+00:00:04
                     Machines Owner Claimed Unclaimed Matched Preempting

        X86_64/LINUX        2     0       0         2       0          0

               Total        2     0       0         2       0          0


[root@slave1 ~]# condor_status
Name               OpSys      Arch   State     Activity LoadAv Mem   ActvtyTime

slave1.cloud.org   LINUX      X86_64 Unclaimed Idle      0.020 1819  0+00:00:04
slave2.cloud.org   LINUX      X86_64 Unclaimed Idle      0.000 1819  0+00:00:04
                     Machines Owner Claimed Unclaimed Matched Preempting

        X86_64/LINUX        2     0       0         2       0          0

               Total        2     0       0         2       0          0

CLOUD 카테고리 내 다른 글 보러가기

댓글 남기기