前提
已经搭建好Hadoop环境。
向YARN提交wordcount任务
1、首先在HDFS创建输入文件目录,并将待处理的wordcount文件传入相应的输入文件目录。
# 创建输入文件目录
hadoop fs -mkdir -p /tmp/jbw/wordcount_input_dir
# 将待处理的文件上传至对应目录
hadoop fs -put /mnt/disk1/linken_speech.txt /tmp/jbw/wordcount_input_dir
hadoop fs -ls /tmp/jbw/wordcount_input_dir
2、运行Hadoop的woedcount样例程序(向YARN提交作业)
参数中指定jar执行文件、输入数据目录(需要先创建好,并将待处理文本上传至其中)、输出目录(无需创建,由样例程序自己生成)。
hadoop jar hadoop/bin/hadoop-mapreduce-examples.jar wordcount /tmp/jbw/wordcount_input_dir /tmp/jbw/wordcount_output_dir
执行过程如下图,可以看到wordcount执行过程会分map和reduce两个阶段。
3、查看运行结果
在HDFS的输出文件目录下查看是否有结果文件,并查看。
hadoop fs -ls /tmp/jbw/wordcount_output_dir
hadoop fs -cat /tmp/jbw/wordcount_output_dir/part-r-00000
结果如下,可以看到每个单词的出现次数已经被统计出来:
Kill掉YARN上的某个任务
我们可以kill掉提交给YARN上的任何执行中的任务。这里以大数据基准测试TPC造数据作为向YARN提交的任务。关于TPC,它其实会生成大量不同数量级别的用于测试大数据平台性能的标准测试数据。这里选它的原因是它造大量数据的时间比较长,我们有充分的时间可以kill掉它。
解压tpcds-5.x.tar.gz文件,进入bin目录执行./gen-date.sh:
tar -zxvf tpcds-5.x.tar.gz
cd tpcds/bin
# 生成数据
./gen-date.sh
过程如下:
现在我们看一下YARN上有哪些运行的作业,并查看状态:
yarn application -list
# 根据任务ID查看任务状态
yarn application -status application_1528449227004_0002
指定任务ID,kill掉它
yarn application -kill application_1528449227004_0002