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