【hadoop】 3003-mapreduce任务的提交

2023-11-29 04:32

本文主要是介绍【hadoop】 3003-mapreduce任务的提交,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、通过Eclipse下本地运行

可以参考  【hadoop】 3002-mapreduce程序统计单词个数示例 章节的演示


二、集群方式通过jar包形式运行
1、处理数据的作业达成jar包并上传hdfs
[hadoop@cloud01 HDFSdemo]$ pwd
/home/hadoop/workspace/HDFSdemo
[hadoop@cloud01 HDFSdemo]$ ll
total 139844
drwxrwxr-x. 5 hadoop hadoop      4096 Feb 24 18:10 bin
-rw-rw-r--. 1 hadoop hadoop       440 Feb 20 06:56 core-site.xml
-rw-rw-r--. 1 hadoop hadoop       256 Feb 20 06:56 hdfs-site.xml
drwxrwxr-x. 2 hadoop hadoop      4096 Feb 20 06:34 lib
-rw-rw-r--. 1 hadoop hadoop       253 Feb 20 06:56 mapred-site.xml
drwxrwxr-x. 5 hadoop hadoop      4096 Feb 24 18:10 src
-rw-rw-r--. 1 hadoop hadoop 143167974 Feb 24 21:41  wc.jar
-rw-rw-r--. 1 hadoop hadoop       434 Feb 20 06:56 yarn-site.xml

2、启动yarn,执行start-yarn.sh 命令 
[hadoop@cloud01 HDFSdemo]$ start-yarn.sh

[hadoop@cloud01 HDFSdemo]$ jps
22901 Jps
17507 DataNode
22510  NodeManager
17414 NameNode
2721
22413  ResourceManager


3、分布式执行wc.jar 
[hadoop@cloud01 ~]$ hadoop jar workspace/HDFSdemo/wc.jar mapreduce.WordCount 

3.1 执行过程日志情况
-- 连接ResourceManager: client.RMProxy: Connecting to ResourceManager
-- 获取分片,每个分片对应一个Map任务:input.FileInputFormat: Total input paths to process : 1
--生成本次运行的job编码:mapreduce.JobSubmitter: Submitting tokens for job: job_1424843731958_0002
--运行要执行的jar文件:mapreduce.Job: Running job: job_1424843731958_0002
--显示map和reduce执行进度
15/02/24 22:09:30 INFO mapreduce.Job:  map 0% reduce 0%
15/02/24 22:09:39 INFO mapreduce.Job:  map 100% reduce 0%
15/02/24 22:09:52 INFO mapreduce.Job:  map 100% reduce 100%
15/02/24 22:09:53 INFO mapreduce.Job: Job job_1424843731958_0002 completed successfully

3.2 MR整个过程的进程变化情况
ResourceManage,NodeManager->RunJar->MRAppMaster->YarnChild

随着MR程序进度的执行,响应的进程也随着退出,退出的顺序为
YarnChild->MRAppMaster->RunJar


3.3 图形方式给出对应的处理流程
图1


图2



file:/tmp/hadoop-hadoop/mapred/staging/hadoop1721666591/.staging/job_local1721666591_0001
file:/tmp/hadoop-hadoop/mapred/staging/hadoop1721666591/.staging/job_local1721666591_0001/job.xml

常见问题
1、INFO ipc.Client: Retrying connect to server: cloud01/192.168.2.31:8032. Already tried 9 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1000 MILLISECONDS)

该问题是因为yarn没有启动,需要执行start-yarn.sh 



这篇关于【hadoop】 3003-mapreduce任务的提交的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/431457

相关文章

SpringQuartz定时任务核心组件JobDetail与Trigger配置

《SpringQuartz定时任务核心组件JobDetail与Trigger配置》Spring框架与Quartz调度器的集成提供了强大而灵活的定时任务解决方案,本文主要介绍了SpringQuartz定... 目录引言一、Spring Quartz基础架构1.1 核心组件概述1.2 Spring集成优势二、J

Redis实现延迟任务的三种方法详解

《Redis实现延迟任务的三种方法详解》延迟任务(DelayedTask)是指在未来的某个时间点,执行相应的任务,本文为大家整理了三种常见的实现方法,感兴趣的小伙伴可以参考一下... 目录1.前言2.Redis如何实现延迟任务3.代码实现3.1. 过期键通知事件实现3.2. 使用ZSet实现延迟任务3.3

Linux中的计划任务(crontab)使用方式

《Linux中的计划任务(crontab)使用方式》:本文主要介绍Linux中的计划任务(crontab)使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、前言1、linux的起源与发展2、什么是计划任务(crontab)二、crontab基础1、cro

Spring定时任务只执行一次的原因分析与解决方案

《Spring定时任务只执行一次的原因分析与解决方案》在使用Spring的@Scheduled定时任务时,你是否遇到过任务只执行一次,后续不再触发的情况?这种情况可能由多种原因导致,如未启用调度、线程... 目录1. 问题背景2. Spring定时任务的基本用法3. 为什么定时任务只执行一次?3.1 未启用

如何使用Python实现一个简单的window任务管理器

《如何使用Python实现一个简单的window任务管理器》这篇文章主要为大家详细介绍了如何使用Python实现一个简单的window任务管理器,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起... 任务管理器效果图完整代码import tkinter as tkfrom tkinter i

Spring Boot 集成 Quartz 使用Cron 表达式实现定时任务

《SpringBoot集成Quartz使用Cron表达式实现定时任务》本文介绍了如何在SpringBoot项目中集成Quartz并使用Cron表达式进行任务调度,通过添加Quartz依赖、创... 目录前言1. 添加 Quartz 依赖2. 创建 Quartz 任务3. 配置 Quartz 任务调度4. 启

Java使用多线程处理未知任务数的方案介绍

《Java使用多线程处理未知任务数的方案介绍》这篇文章主要为大家详细介绍了Java如何使用多线程实现处理未知任务数,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 知道任务个数,你可以定义好线程数规则,生成线程数去跑代码说明:1.虚拟线程池:使用 Executors.newVir

Spring Boot中定时任务Cron表达式的终极指南最佳实践记录

《SpringBoot中定时任务Cron表达式的终极指南最佳实践记录》本文详细介绍了SpringBoot中定时任务的实现方法,特别是Cron表达式的使用技巧和高级用法,从基础语法到复杂场景,从快速启... 目录一、Cron表达式基础1.1 Cron表达式结构1.2 核心语法规则二、Spring Boot中定

Git如何修改已提交人的用户名和邮箱

《Git如何修改已提交人的用户名和邮箱》文章介绍了如何修改Git已提交人的用户名和邮箱,包括注意事项和具体步骤,确保操作正确无误... 目录git修改已提交人的用户名和邮箱前言第一步第二步总结git修改已提交人的用户名和邮箱前言需注意以下两点内容:需要在顶层目录下(php就是 .git 文件夹所在的目

javaScript在表单提交时获取表单数据的示例代码

《javaScript在表单提交时获取表单数据的示例代码》本文介绍了五种在JavaScript中获取表单数据的方法:使用FormData对象、手动提取表单数据、使用querySelector获取单个字... 方法 1:使用 FormData 对象FormData 是一个方便的内置对象,用于获取表单中的键值