From T3_KR_KNU
Jump to: navigation, search
(crab2 와 crab3의 차이점)
(Task Kill)
 
(53 intermediate revisions by 3 users not shown)
Line 2: Line 2:
  
 
=== 사전준비 ===
 
=== 사전준비 ===
   <span style="color:#FF0000">[ 주의 : bash 기준으로 작성되었습니다. 아래 예제의 스크립트 중 자신의 shell에 맞는 스크립트를 사용하시면 됩니다. (ex: csh 사용자는 source /cvmfs/cms.cern.ch/cmsset_default.csh 을 활용) ]</span>
+
   <span style="color:#FF0000">[ 주의 : bash 기준으로 작성되었습니다. 아래 예제의 스크립트 중 자신의 shell에 맞는 스크립트를 사용하시면 됩니다. (ex: tcsh 사용자는 source /cvmfs/cms.cern.ch/cmsset_default.csh 을 활용) ]</span>
  
 
=== cmssw가 설치되지 않았다면 ===
 
=== cmssw가 설치되지 않았다면 ===
  $ set SCRAM_ARCH=slc6_amd64_gcc481   ### 아키텍쳐를 설정합니다.
+
  $ set SCRAM_ARCH=slc6_amd64_gcc493   ### 아키텍쳐를 설정합니다.
 +
or
 +
$ export SCRAM_ARCH=slc6_amd64_gcc493
 +
 
 
  $ source /cvmfs/cms.cern.ch/cmsset_default.sh  ### CMS S/W 기본 설정을 로드합니다.
 
  $ source /cvmfs/cms.cern.ch/cmsset_default.sh  ### CMS S/W 기본 설정을 로드합니다.
  
Line 11: Line 14:
 
  $ mkdir work  ### 자신이 원하는 작업디렉토리를 생성합니다.
 
  $ mkdir work  ### 자신이 원하는 작업디렉토리를 생성합니다.
 
  $ scramv1 list CMSSW  ### 자신이 사용하고 싶은 CMSSW를 검색합니다.
 
  $ scramv1 list CMSSW  ### 자신이 사용하고 싶은 CMSSW를 검색합니다.
  $ scramv1 project CMSSW CMSSW_7_2_1   ### 검색 결과 중 한 가지의 버전을 선택/설정합니다. (자동으로 해당 버전의 CMSSW 작업 폴더가 생성됩니다.)
+
  $ scramv1 project CMSSW CMSSW_7_x_x   ### 검색 결과 중 자신이 원하는 한 가지의 버전을 선택/설정합니다. (CMSSW_7_x_x 버전을 사용하도록 설정하는 명령어 입니다. 자동으로 해당 버전의 CMSSW 작업 폴더가 생성됩니다.)
  $ cd CMSSW_7_2_1/src  ### 생성한 작업 폴더로 이동합니다.
+
  $ cd CMSSW_7_x_x/src  ### 생성한 작업 폴더로 이동합니다.
 
+
  $ scram b -j3 ### 컴파일
  $ vi crab3config.py  ### crab 설정 파일을 생성합니다. (아래의 crab3config.py 예제 참조)
+
$ vi myConfig.py  ### 실행할 작업 명시 파일을 생성합니다 (아래의 myConfig.py 예제 참조)
+
$ source /cvmfs/cms.cern.ch/crab3/crab.sh  ### crab 사용을 설정합니다.
+
$ crab submit -c crab3config.py  ### 실제 작업을 생성합니다.
+
$ crab status  ### 작업 진행 상황을 수시로 모니터링 합니다. (CMS 데시보드에서는 보다 다양한 형태로 자신의 작업 상황을 조회할 수 있습니다. http://dashboard.cern.ch/cms/)
+
  
 
=== cmssw가 이미 설치 되어있다면 ===
 
=== cmssw가 이미 설치 되어있다면 ===
Line 25: Line 23:
 
  $ source /cvmfs/cms.cern.ch/cmsset_default.sh   
 
  $ source /cvmfs/cms.cern.ch/cmsset_default.sh   
 
  $ cmsenv
 
  $ cmsenv
$ source /cvmfs/cms.cern.ch/crab3/crab.sh
 
  
=== 작업 설정 파일 작성 및 수정 ===
+
=== crab3 시작 ===
  $ vi crab3config.py
+
$ source /cvmfs/cms.cern.ch/crab3/crab.sh   
 +
# crab 3.3.1607 부터 crab.sh는 light 구현으로 사용환경을 오염(?)시키지 않습니다. 만약 새로운 환경설정파일이 문제을 일으킨다면 다음과 같이 옛날 파일을 사용할 수 있습니다.
 +
$ source /cvmfs/cms.cern.ch/crab3/crab_standalone.sh
 +
 
 +
$ crab submit -c crab3config.py  ### 실제 작업을 생성합니다.
 +
$ crab status  ### 작업 진행 상황을 수시로 모니터링 합니다. (CMS 데시보드에서는 보다 다양한 형태로 자신의 작업 상황을 조회할 수 있습니다. http://dashboard.cern.ch/cms/)
 +
 
 +
=== 작업 설정 파일   ===
 +
 
 +
crab 설정 파일을 생성합니다.
 +
 
 +
  $ vi crab3config.py  
 
   from WMCore.Configuration import Configuration
 
   from WMCore.Configuration import Configuration
 
   config = Configuration()
 
   config = Configuration()
Line 45: Line 53:
 
   config.section_('User')
 
   config.section_('User')
 
   config.section_('Site')
 
   config.section_('Site')
   config.Site.whitelist = ['T2_KR_KNU']
+
   config.Site.whitelist = ['T3_KR_KNU']
   config.Site.storageSite = 'T2_KR_KNU'
+
   config.Site.storageSite = 'T3_KR_KNU'
  
 +
실행할 작업 명세 파일을 생성합니다
 
  $ vi myConfig.py
 
  $ vi myConfig.py
 
   import FWCore.ParameterSet.Config as cms
 
   import FWCore.ParameterSet.Config as cms
Line 60: Line 69:
 
   process.out_step = cms.EndPath(process.output)
 
   process.out_step = cms.EndPath(process.output)
  
=== Task submit ===
+
설정파일과 관련해서 좀더 자세한 사항을 알고 싶다면 아래 문서를 참고하세요
 +
* [https://twiki.cern.ch/twiki/bin/view/CMSPublic/CRAB3ConfigurationFile CRAB configuration file]
 +
 
 +
=== crab 명령어 ===
 +
==== Task submit ====
 
* crab submit [--config/-c <CRAB-configuration-file>]
 
* crab submit [--config/-c <CRAB-configuration-file>]
 
  $ crab submit -c crab3config.py
 
  $ crab submit -c crab3config.py
 +
작업을 submit 합니다.
  
=== Task Status ===
+
==== Task Status ====
 
* crab status --dir/-d <CRAB-project-directory>
 
* crab status --dir/-d <CRAB-project-directory>
 
  $ crab status
 
  $ crab status
 +
 +
작업의 상태를 확인합니다. 아래 Dashboard Task Monitoring 에서 사용자 작업의 상태를 좀더 구체적으로 확인할 수 있습니다.
  
 
* Dashboard Task Monitoring : http://dashb-cms-job.cern.ch/dashboard/templates/task-analysis/
 
* Dashboard Task Monitoring : http://dashb-cms-job.cern.ch/dashboard/templates/task-analysis/
  
=== Task resubmit ===
+
==== Task resubmit ====
 
* crab resubmit --dir/-d <CRAB-project-directory>
 
* crab resubmit --dir/-d <CRAB-project-directory>
 +
$ crab resubmit -d crab_20220515_173023
  
=== Task output retrieval ===
+
작업을 다시 제출합니다.
 +
 
 +
==== Task output retrieval ====
 
* crab getoutput --dir/-d <CRAB-project-directory> [--jobids <comma-separated-list-of-jobs-and/or-job-ranges>]
 
* crab getoutput --dir/-d <CRAB-project-directory> [--jobids <comma-separated-list-of-jobs-and/or-job-ranges>]
 +
$ crab getoutput -d crab_20220515_173023
 +
$ crab getoutput --jobids 1,7,102
 +
$ crab getoutput --jobids 25-115
 +
 +
결과 파일과 로그를 다운로드 합니다.
  
=== Task Kill ===
+
==== Task Kill ====
 
* crab kill -d <CRAB-project-directory> [--jobids <comma-separated-list-of-jobs-and/or-job-ranges>]
 
* crab kill -d <CRAB-project-directory> [--jobids <comma-separated-list-of-jobs-and/or-job-ranges>]
 +
$ crab kill -d crab_20220515_173023
 +
$ crab kill --jobids 1,7,102
 +
$ crab kill --jobids 25-115
 +
 +
작업을 강제 중단시킵니다.
 +
 +
==== CRAB commands에 대한 상세정보 ====
 +
* [https://twiki.cern.ch/twiki/bin/view/CMSPublic/CRAB3Commands CRAB commands]
 +
 +
=== Task monitoring for the analysis users ===
 +
[[Task_monitoring_for_the_analysis_users|Analysis 사용자를 위한 작업 모니터링 이용가이드로 가기]]
 +
 +
=== 오류 발생시 대처 ===
 +
==== 로크 찾기 ====
 +
* [https://t2-cms.knu.ac.kr/wiki/index.php/Task_monitoring_for_the_analysis_users#.EB.A1.9C.EA.B7.B8_.ED.99.95.EC.9D.B8 Dashboard Task Monitor에서 본인작업의 로그 찾기]
 +
* Dashboard Task Monitor에서는 본인의 작업이 제출된 사이트들과 작업의 로그파일의 확인을 통하여 에러코드 및 오류가 발생하는 사이트를 확인할 수 있습니다.
 +
* 코드에 문제가 없는데도 지속적으로 오류가 발생하는 사이트가 있다면 그 사이트는 다음번 작업 제출시 blacklist에 추가하여 제외해야합니다.
 +
 +
==== 흔히 발생하는 오류 ====
 +
흔히 발생하는 오류들에 대한 해결책이 정리되어 있습니다.
 +
* [https://twiki.cern.ch/twiki/bin/view/CMSPublic/CRAB3CommonErrors CRAB3 common errors]
 +
 +
==== Exit Code 로 오류 원인 찾기 ====
 +
*[https://twiki.cern.ch/twiki/bin/view/CMSPublic/SWGuideCrabFaq#Exit_code_6_with_Fatal_Root_Erro  Exit code 6 with Fatal Root Error]
 +
*[https://twiki.cern.ch/twiki/bin/view/CMSPublic/SWGuideCrabFaq#Exit_code_8001_with_MSG_w_Missin Exit code 8001 with %MSG-w Missing Dictionary]
 +
*[https://twiki.cern.ch/twiki/bin/view/CMSPublic/SWGuideCrabFaq#Exit_code_8020 Exit code 8020]
 +
*[https://twiki.cern.ch/twiki/bin/view/CMSPublic/SWGuideCrabFaq#Exit_code_10034 Exit code 10034]
 +
*[https://twiki.cern.ch/twiki/bin/view/CMSPublic/SWGuideCrabFaq#Exit_code_60302 Exit code 60302]
 +
*[https://twiki.cern.ch/twiki/bin/view/CMSPublic/SWGuideCrabFaq#Exit_code_60307 Exit code 60307]
 +
*[https://twiki.cern.ch/twiki/bin/view/CMSPublic/SWGuideCrabFaq#Exit_code_60317 Exit code 60317]
 +
*[https://twiki.cern.ch/twiki/bin/view/CMSPublic/SWGuideCrabFaq#Exit_code_70500 Exit code 70500]
  
 
== crab2 사용자를 위한 안내 ==
 
== crab2 사용자를 위한 안내 ==
 
=== crab2 와 crab3의 차이점 ===
 
=== crab2 와 crab3의 차이점 ===
https://twiki.cern.ch/twiki/bin/view/CMSPublic/WorkBookCRAB3Tutorial#Differences_between_CRAB2_and_CRAB3
+
https://twiki.cern.ch/twiki/bin/view/CMSPublic/WorkBookCRAB3Tutorial#Differences_between_CRAB2_and_CR
  
 
=== crab2 설정을 crab3로 변환해주는 툴 ===
 
=== crab2 설정을 crab3로 변환해주는 툴 ===
 
  crab2cfgTOcrab3py [crab2confgiName.cfg] [crab3configName.py]
 
  crab2cfgTOcrab3py [crab2confgiName.cfg] [crab3configName.py]
 +
 +
== CRAB Feedback & CMS Computing Manual ==
 +
* CRAB 사용시 발생하는 문제점 및 해결방법은 아래 사이트를 참조
 +
https://hypernews.cern.ch/HyperNews/CMS/get/crabFeedback.html
 +
* CMS Computing Manual
 +
https://twiki.cern.ch/twiki/bin/view/CMSPublic/WorkBook
  
 
== 참고 문서 ==
 
== 참고 문서 ==
* [https://twiki.cern.ch/twiki/bin/view/CMSPublic/SWGuideCrab CRAB online manual and tutorial]
+
 
* [https://twiki.cern.ch/twiki/bin/view/CMSPublic/CRAB3ConfigurationFile crab configuration file에 관련 설명]
+
* [https://twiki.cern.ch/twiki/bin/view/CMSPublic/SWGuideCrab CRAB online manual and tutorial] 아래 문서 리스트는 이 문서에서 발췌하였습니다. Crab에 대한 전반적인 내용이 정리되어 있습니다.
* [https://twiki.cern.ch/twiki/bin/view/CMSPublic/CRAB3Commands crab command 설명]
+
 
* [https://twiki.cern.ch/twiki/bin/view/CMSPublic/WorkBookCRAB3Tutorial crab3 tutorial]
+
=== 초보자를 위한 문서 ===
* [https://twiki.cern.ch/twiki/bin/view/CMSPublic/Crab3DataHandling data handling]
+
 
 +
* [https://twiki.cern.ch/twiki/bin/view/CMSPublic/CRAB3CheatSheet Quickstart guide for CRAB3]
 +
* [https://twiki.cern.ch/twiki/bin/view/CMSPublic/WorkBookCRAB3Tutorial CRAB tutorial (introductory)]
 +
* [https://twiki.cern.ch/twiki/bin/view/CMSPublic/CRAB3AdvancedTutorial CRAB tutorial (advanced)]
 +
* [https://twiki.cern.ch/twiki/bin/view/CMSPublic/CRAB3ConfigurationFile CRAB configuration file]
 +
* [https://twiki.cern.ch/twiki/bin/view/CMSPublic/CRAB3Commands CRAB commands]
 +
* [https://twiki.cern.ch/twiki/bin/view/CMSPublic/CRAB3UserFunctions CRAB user functions]
 +
* [https://twiki.cern.ch/twiki/bin/view/CMSPublic/CRAB3AdvancedTopic CRAB Advanced topics]
 +
* [https://twiki.cern.ch/twiki/bin/view/CMSPublic/CRAB3TipsAndTricks Tips and tricks about CRAB]
 +
* [https://twiki.cern.ch/twiki/bin/view/CMSPublic/CRAB3FAQ CRAB3 frequently asked questions]
 +
* [https://twiki.cern.ch/twiki/bin/view/CMSPublic/CRAB3CommonErrors CRAB3 common errors]
 +
 
 +
=== 숙련자를 위한 문서 ===
 +
 
 +
* [https://twiki.cern.ch/twiki/bin/view/CMSPublic/Crab3DataHandling Data handling in CRAB]
 +
* [https://twiki.cern.ch/twiki/bin/view/CMSPublic/CRAB3TaskFlow CRAB3 task flow]
 +
* [https://twiki.cern.ch/twiki/bin/view/CMSPublic/Crab3HtcondorStates CRAB3 job states]
 +
* [https://twiki.cern.ch/twiki/bin/view/CMSPublic/CRABClientLibraryAPI CRAB3 client API]

Latest revision as of 01:25, 17 May 2022

CRAB (CMS Remote Analysis Builder) Quick Start

사전준비

 [ 주의 : bash 기준으로 작성되었습니다. 아래 예제의 스크립트 중 자신의 shell에 맞는 스크립트를 사용하시면 됩니다. (ex: tcsh 사용자는 source /cvmfs/cms.cern.ch/cmsset_default.csh 을 활용) ]

cmssw가 설치되지 않았다면

$ set SCRAM_ARCH=slc6_amd64_gcc493   ### 아키텍쳐를 설정합니다.

or

$ export SCRAM_ARCH=slc6_amd64_gcc493
$ source /cvmfs/cms.cern.ch/cmsset_default.sh   ### CMS S/W 기본 설정을 로드합니다.
$ cd ~/   ### 자신의 홈디렉토리로 이동합니다.
$ mkdir work  ### 자신이 원하는 작업디렉토리를 생성합니다.
$ scramv1 list CMSSW   ### 자신이 사용하고 싶은 CMSSW를 검색합니다.
$ scramv1 project CMSSW CMSSW_7_x_x   ### 검색 결과 중 자신이 원하는 한 가지의 버전을 선택/설정합니다. (CMSSW_7_x_x 버전을 사용하도록 설정하는 명령어 입니다. 자동으로 해당 버전의 CMSSW 작업 폴더가 생성됩니다.)
$ cd CMSSW_7_x_x/src   ### 생성한 작업 폴더로 이동합니다.
$ scram b -j3 ### 컴파일

cmssw가 이미 설치 되어있다면

# 환경 설정
$ cd CMSSW_7_2_1/src
$ source /cvmfs/cms.cern.ch/cmsset_default.sh   
$ cmsenv

crab3 시작

$ source /cvmfs/cms.cern.ch/crab3/crab.sh    
# crab 3.3.1607 부터 crab.sh는 light 구현으로 사용환경을 오염(?)시키지 않습니다. 만약 새로운 환경설정파일이 문제을 일으킨다면 다음과 같이 옛날 파일을 사용할 수 있습니다. 
$ source /cvmfs/cms.cern.ch/crab3/crab_standalone.sh
$ crab submit -c crab3config.py   ### 실제 작업을 생성합니다.
$ crab status   ### 작업 진행 상황을 수시로 모니터링 합니다. (CMS 데시보드에서는 보다 다양한 형태로 자신의 작업 상황을 조회할 수 있습니다. http://dashboard.cern.ch/cms/)

작업 설정 파일

crab 설정 파일을 생성합니다.

$ vi crab3config.py 
  from WMCore.Configuration import Configuration
  config = Configuration()
  config.section_('General')
  config.General.transferOutputs = True
  config.section_('JobType')
  config.JobType.psetName = 'myConfig.py'
  config.JobType.pluginName = 'Analysis'
  config.JobType.outputFiles = ['outfileName.root']
  config.section_('Data')
  config.Data.inputDataset = '/WplusToENu_CT10_13TeV-powheg-pythia8/Spring14miniaod-PU20bx25_POSTLS170_V5-v1/MINIAODSIM'
  config.Data.unitsPerJob = 500
  config.Data.splitting = 'LumiBased'
  #config.Data.splitting = 'FileBased'
  config.Data.publication = False
  config.section_('User')
  config.section_('Site')
  config.Site.whitelist = ['T3_KR_KNU']
  config.Site.storageSite = 'T3_KR_KNU'

실행할 작업 명세 파일을 생성합니다

$ vi myConfig.py
  import FWCore.ParameterSet.Config as cms
  process = cms.Process('Slurp')
  process.source = cms.Source("PoolSource", fileNames = cms.untracked.vstring())
  process.maxEvents = cms.untracked.PSet( input       = cms.untracked.int32(10) )
  process.options   = cms.untracked.PSet( wantSummary = cms.untracked.bool(True) )
  process.output = cms.OutputModule("PoolOutputModule",
   outputCommands = cms.untracked.vstring("drop *", "keep recoTracks_*_*_*"),
   fileName = cms.untracked.string('outfileName.root'),
  )
  process.out_step = cms.EndPath(process.output)

설정파일과 관련해서 좀더 자세한 사항을 알고 싶다면 아래 문서를 참고하세요

crab 명령어

Task submit

  • crab submit [--config/-c <CRAB-configuration-file>]
$ crab submit -c crab3config.py

작업을 submit 합니다.

Task Status

  • crab status --dir/-d <CRAB-project-directory>
$ crab status

작업의 상태를 확인합니다. 아래 Dashboard Task Monitoring 에서 사용자 작업의 상태를 좀더 구체적으로 확인할 수 있습니다.

Task resubmit

  • crab resubmit --dir/-d <CRAB-project-directory>
$ crab resubmit -d crab_20220515_173023

작업을 다시 제출합니다.

Task output retrieval

  • crab getoutput --dir/-d <CRAB-project-directory> [--jobids <comma-separated-list-of-jobs-and/or-job-ranges>]
$ crab getoutput -d crab_20220515_173023
$ crab getoutput --jobids 1,7,102
$ crab getoutput --jobids 25-115

결과 파일과 로그를 다운로드 합니다.

Task Kill

  • crab kill -d <CRAB-project-directory> [--jobids <comma-separated-list-of-jobs-and/or-job-ranges>]
$ crab kill -d crab_20220515_173023
$ crab kill --jobids 1,7,102
$ crab kill --jobids 25-115

작업을 강제 중단시킵니다.

CRAB commands에 대한 상세정보

Task monitoring for the analysis users

Analysis 사용자를 위한 작업 모니터링 이용가이드로 가기

오류 발생시 대처

로크 찾기

  • Dashboard Task Monitor에서 본인작업의 로그 찾기
  • Dashboard Task Monitor에서는 본인의 작업이 제출된 사이트들과 작업의 로그파일의 확인을 통하여 에러코드 및 오류가 발생하는 사이트를 확인할 수 있습니다.
  • 코드에 문제가 없는데도 지속적으로 오류가 발생하는 사이트가 있다면 그 사이트는 다음번 작업 제출시 blacklist에 추가하여 제외해야합니다.

흔히 발생하는 오류

흔히 발생하는 오류들에 대한 해결책이 정리되어 있습니다.

Exit Code 로 오류 원인 찾기

crab2 사용자를 위한 안내

crab2 와 crab3의 차이점

https://twiki.cern.ch/twiki/bin/view/CMSPublic/WorkBookCRAB3Tutorial#Differences_between_CRAB2_and_CR

crab2 설정을 crab3로 변환해주는 툴

crab2cfgTOcrab3py [crab2confgiName.cfg] [crab3configName.py]

CRAB Feedback & CMS Computing Manual

  • CRAB 사용시 발생하는 문제점 및 해결방법은 아래 사이트를 참조
https://hypernews.cern.ch/HyperNews/CMS/get/crabFeedback.html
  • CMS Computing Manual
https://twiki.cern.ch/twiki/bin/view/CMSPublic/WorkBook

참고 문서

  • CRAB online manual and tutorial 아래 문서 리스트는 이 문서에서 발췌하였습니다. Crab에 대한 전반적인 내용이 정리되어 있습니다.

초보자를 위한 문서

숙련자를 위한 문서