3.2.3 Hadoop 作业
3.2.3.1 Hadoop计算集群概述
Hadoop计算集群是计算中心针对高能物理的特性进行二次开发与优化的基于Hadoop的新型计算平台,具有高可靠、高效、高扩展性、高容错性和低成本等特点。目前支持LHAASO实验计算。
3.2.3.2 Hadoop作业提交说明
Hadoop作业的提交过程也分为账号申请、用户登录、准备作业脚本、提交作业几个过程,具体说明如下。
1) 账号申请
(1)AFS账号申请
AFS账号申请的链接为: http://afsapply.ihep.ac.cn/ccapply/userapplyaction.action ,已有计算集群账号的用户可跳过此步,进入(2)。
(2)Hadoop账号申请
发邮件联系管理员,邮箱地址:huangql@ihep.ac.cn
2) 用户登录
可用的登录节点有:ybjslc.ihep.ac.cn,具体登录方式详见3.1(链接到毕玉江写的用户登录).
3) 作业脚本准备
用户提交作业之前,需要在提交作业的目录下编写jobOption文件,jobOption文件包含6个部分:
(1)jobType : 作业类型,如宇宙线模拟(corsika),探测器模拟(Geant4),重建作业(medea++)等。
(2)InputFile/InputPath :输入文件/目录,数据输入文件必须在/hdfs盘上。
(3)OutputPath :输出文件目录,若输出到HDFS上,目录开头为/hdfs。否则输出到本地挂载的目录。同时还需要在此处说明输出文件的文件名的前缀和扩展名,不同作业类型方式不一样,此处详见各种作业类型的jobOptionFile模板。
(4)Job Environment settings : 作业环境配置模块。
(5)Executable commands :可执行的命令,即作业的执行程序及参数。
(6)LogOutputDir :可执行程序日志输出目录。
jobOptionFile的样例1:
//JobType
JobType=Geant4
//InputFile/InputPath
Hadoop_InputDir=/hdfs/home/cc/huangql/test/corsika-74005-2/
//OutputPath
Hadoop_OutputDir=/hdfs/home/cc/huangql/test/G4asg-3/
Name_Ext=.asg
//Job Environment settings
Eventstart=0
Eventend=5000
source /afs/ihep.ac.cn/users/y/ybjx/anysw/slc5_ia64_gcc41/external/envc.sh
export G4WORKDIR=/workfs/cc/huangql/v0-21Sep15
export PATH=${PATH}:${G4WORKDIR}/bin/${G4SYSTEM}
//executable commands
cat ${Hadoop_InputDir} | /workfs/cc/huangql/v0-21Sep15/bin/Linux-g++/G4asg -output $Hadoop_OutputDir -setting $G4WORKDIR/config/settingybj.db -SDLocation $G4WORKDIR/config/ED25.loc -MDLocation $G4WORKDIR/config/MD16.loc -geom $G4WORKDIR/config/geometry.db ## -nEventEnd $Eventend
//LogOutputDir
Log_Dir=/home/cc/huangql/hadoop/test/logs/
jobOptionFile的样例2:
//OutputPath
Hadoop_OutputDir=/hdfs/user/huangql/corsika-74005-4/
//Output File Name Prefix
Name_Prefix={"DAT","DAT"}
//Output File Name Extend
Name_Ext={"",".long"}
// set environment
//source setup.sh
// I start number
I=300243
//cycle index
Times=32
// execute progrom
SD1=`expr 33746 + $I`
SD2=`expr 13338 + $I`
SD3=`expr 54923 + $I`
echo $SD1
echo $SD2
echo $SD3
cd /home/cc/huangql/hadoop/corsika-74005/run
rm -rf $Hadoop_OutputDir/DAT*${I}*
//executable commands
./corsika74005Linux_QGSJET_gheisha<<EOF
RUNNR $I run number
EVTNR 1 number of first shower event
NSHOW 50 number of showers to generate
PRMPAR 14 particle type of prim. particle
ESLOPE -2.7 slope of primary energy spectrum
ERANGE 100.E3 100.E3 energy range of primary particle
THETAP 0 0 range of zenith angle (degree)
PHIP 45 45 range of azimuth angle (degree)
SEED $SD1 0 0 seed for 1. random number sequence
SEED $SD2 0 0 seed for 2. random number sequence
SEED $SD3 0 0
OBSLEV 4300.0E2 observation level (in cm)
FIXCHI 0. starting altitude (g/cm**2)
MAGNET 34.5 35.0 magnetic field centr. Europe
HADFLG 0 0 0 0 0 2 flags hadr.interact.&fragmentation
QGSJET T 0 use QGSJET for high energy hadrons
QGSSIG T use QGSJET hadronic cross sections
ECUTS 0.05 0.05 0.001 0.001 energy cuts:hadr. muon elec. phot.
MUADDI F additional info for muons
MUMULT T muon multiple scattering angle
ELMFLG F T em. interaction flags (NKG,EGS)
MUMULT T muon multiple scattering angle
ELMFLG F T em. interaction flags (NKG,EGS)
STEPFC 1.0 mult. scattering step length fact.
RADNKG 200.E2 outer radius for NKG lat.dens.distr.
ARRANG 0. rotation of array to north
LONGI T 10. T T longit.distr. & step size & fit & out
ECTMAP 1.E2 cut on gamma factor for printout
MAXPRT 1000 max. number of printed events
DATBAS F write .dbase file
DIRECT $Hadoop_OutputDir/ output directory
USER you user
DEBUG F 6 F 1000000 debug flag and log.unit for out
EXIT terminates input
~
EOF
//LogOutputDir
Log_Dir=/home/cc/huangql/hadoop/logs/
4) 作业提交
提交作业的命令如下:
hsub queue jobType jobOptionFile jobname
参数说明:
hsub: 作业提交的命令
queue: 作业队列名(ybj, default)
jobType:作业类型,包括:MC(模拟作业),REC(重建作业),DA(分析作业)
jobOptionFile: 作业描述文件
jobname: 作业名
5) 作业管理
(1)查询所有作业
mapred job -list all
(2)查询正在运行的作业
mapred job -list
(3)查看作业状态
mapred job -status jobId
(4)杀作业
mapred job -kill jobId
(5)杀任务
mapred job -kill-task taskId
6) 作业监控
用户可访问链接:http://lhaaso01.ihep.ac.cn:50030查询每个作业的执行状态,执行日志等信息。
7) 文件管理
HDFS监控和文件浏览的链接:http://lhaaso01.ihep.ac.cn:50070
(1)web页面方式浏览HDFS上的数据
在HDFS监控页面上,选择“Utilities" --> ”Browse the file system”
(2)命令行方式
在ybjslc.ihep.ac.cn的登录节点上执行下述命令:
a. 文件浏览
hadoop fs -ls /
b. 目录创建
hadoop fs -mkdir /tmp/input
c. 文件上传
hadoop fs –put/ -copyFromLocal file destdir
d. 文件下载
hadoop fs –get/ -copyToLocal file destdir
e. 文件读取
hadoop fs -cat file
hadoop fs -tail file
f. 文件删除
hadoop fs –rm -r file
g. 目录删除
hadoop fs –rm -r dir
h. 修改权限
hadoop fs –chmod
hadoop fs –chown
i. 统计目录下文件大小
hadoop fs –du –h dir