普元数据开发平台 普元数据开发平台
产品介绍
安装部署
快速入门
操作指南
应用集成
运维指南
  • MapReduce 程序
  • 说明
  • 前置环境准备
  • 配置项说明
  • JAVA/SCALA 程序
  • Python 程序
  • 配置示例(WordCount)
  • FAQ

# MapReduce 程序

  • 说明
  • 配置项说明
  • FAQ

# 说明

MapReduce 是 Hadoop 原生批处理框架,核心依赖 YARN 运行,配置项更聚焦「Hadoop 环境、作业资源、输入输出」,无流式框架的特殊配置(如检查点)。

对于 MapReduce 任务,worker 会通过使用 Hadoop 命令 hadoop jar 的方式提交任务,支持 JAVA/SCALA/Python 三种程序类型,可直接调度 Hadoop MapReduce 任务。。

程序类型为 JAVA/SCALA 或者 Python 时,配置项的要求有所区别。

# 前置环境准备

  1. Hadoop 环境配置

DolphinScheduler Worker 节点需安装 Hadoop 客户端,并配置 HADOOP_HOME、YARN_CONF_DIR 等环境变量(bin/env/dolphinscheduler_env.sh)。 确保 Worker 可正常执行 hadoop jar、yarn application 等命令。

  1. 资源中心配置(推荐)

通过 项目配置》文件管理 上传 MapReduce 程序 JAR/Python 脚本到 DolphinScheduler 资源中心。 任务配置时直接选择资源中心文件。

# 配置项说明

# JAVA/SCALA 程序

配置项 默认值 描述 示例
任务名称 - 选择 JAVA/SCALA 语言。 mr_wordcount
程序类型 - 选择 JAVA/SCALA 语言。 JAVA
主函数的 Class - MapReduce 程序的入口 Main class 的全路径。 org.apache.hadoop.examples.WordCount
主程序包 - 执行 MapReduce 程序的 jar 包。 hadoop-mapreduce-examples.jar
主程序参数 - 是 MapReduce 局部的用户自定义参数,会替换脚本中以 ${变量} 的内容。 hdfs:///user/ds/input hdfs:///user/ds/output
选项参数 - 支持 –D、-files、-libjars、-archives 格式。 -D mapreduce.job.queuename=default

# Python 程序

配置项 默认值 描述 示例
程序类型 - 选择 Python 语言。 PYTHON
主函数的 Class - 不用填写。
主程序包 - 运行 MapReduce 的 Python jar 包。 hadoop-streaming.jar
主程序参数 - 是 MapReduce 局部的用户自定义参数,会替换脚本中以 ${变量} 的内容。 -input hdfs:///input -output hdfs:///output
选项参数 - 支持 –D、-mapper、-reducer、-input -output格式,这里可以设置用户自定义参数的输入。
比如:-mapper “mapper.py 1” -file mapper.py -reducer reducer.py -file reducer.py –input /journey/words.txt -output /journey/out/mr/${currentTimeMillis},其中 -mapper 后的 mapper.py 1是两个参数,第一个参数是 mapper.py,第二个参数是 1。
-mapper mapper.py -reducer reducer.py -files mapper.py,reducer.py

# 配置示例(WordCount)

  1. Java WordCount 配置

程序类型:JAVA

主类:org.apache.hadoop.examples.WordCount

主 JAR 包:hadoop-mapreduce-examples.jar(资源中心)

主程序参数:hdfs:///user/ds/input hdfs:///user/ds/output

选项参数:-D mapreduce.job.queuename=default

  1. Python Streaming 配置

程序类型:PYTHON

主 JAR 包:hadoop-streaming.jar

主程序参数:-input hdfs:///input -output hdfs:///output

选项参数:-mapper mapper.py -reducer reducer.py -files mapper.py,reducer.py

# FAQ

常见问题与排查

  1. 任务提交失败

检查 Worker 节点 HADOOP_HOME、YARN_CONF_DIR 配置是否正确。

确认 JAR 包路径 / 资源中心文件存在,主类名拼写正确。

查看 DolphinScheduler 任务日志与 YARN 日志,定位异常。

  1. 权限问题

确保 DolphinScheduler 租户用户对 HDFS 输入 / 输出目录有读写权限。

输出目录需不存在,否则 MapReduce 会报错。

  1. 资源不足

调整 mapreduce.map.memory.mb、mapreduce.reduce.memory.mb 等参数。

检查 YARN 队列资源配额是否充足。

← DI程序 Python程序 →