如何使用 hadoop-2.2 在 oozie 中执行 mapreduce 程序

Posted

技术标签:

【中文标题】如何使用 hadoop-2.2 在 oozie 中执行 mapreduce 程序【英文标题】:How execute a mapreduce programs in oozie with hadoop-2.2 【发布时间】:2014-05-30 06:21:36 【问题描述】:

ubuntu 中的 2.2.0 和 oozie-4.0.0。我无法在 oozie 中执行 mapreduce 程序。

我在 oozie 中为 jobtracker 8032 使用资源管理器端口号。

虽然在 oozie 中进行调度以进入运行状态并在 yarn 中运行一段时间后,但我在 hadoop 日志中遇到这样的错误(如下),但仍在 oozie 日志中运行

错误:

2014-05-30 10:38:14,322 INFO [RMCommunicator Allocator] org.apache.hadoop.mapreduce.v2.app.rm.RMContainerRequestor: getResources() for application_1401425739447_0003: ask=3 release= 0 newContainers=0 finishedContainers=0 resourcelimit=<memory:1024, vCores:-1> knownNMs=1
2014-05-30 10:38:17,296 INFO [Socket Reader #1 for port 47412] SecurityLogger.org.apache.hadoop.ipc.Server: Auth successful for job_1401425739447_0003 (auth:SIMPLE)
2014-05-30 10:38:17,316 INFO [IPC Server handler 0 on 47412] org.apache.hadoop.mapred.TaskAttemptListenerImpl: JVM with ID : jvm_1401425739447_0003_m_000002 asked for a task
2014-05-30 10:38:17,316 INFO [IPC Server handler 0 on 47412] org.apache.hadoop.mapred.TaskAttemptListenerImpl: JVM with ID: jvm_1401425739447_0003_m_000002 given task: attempt_1401425739447_0003_m_000000_0
2014-05-30 10:38:22,524 INFO [IPC Server handler 1 on 47412] org.apache.hadoop.mapred.TaskAttemptListenerImpl: Ping from attempt_1401425739447_0003_m_000000_0
2014-05-30 10:38:25,996 INFO [IPC Server handler 2 on 47412] org.apache.hadoop.mapred.TaskAttemptListenerImpl: Status update from attempt_1401425739447_0003_m_000000_0
2014-05-30 10:38:26,003 INFO [IPC Server handler 2 on 47412] org.apache.hadoop.mapred.TaskAttemptListenerImpl: Progress of TaskAttempt attempt_1401425739447_0003_m_000000_0 is : 1.0
2014-05-30 10:38:29,066 INFO [IPC Server handler 3 on 47412] org.apache.hadoop.mapred.TaskAttemptListenerImpl: Ping from attempt_1401425739447_0003_m_000000_0
2014-05-30 10:38:32,071 INFO [IPC Server handler 4 on 47412] org.apache.hadoop.mapred.TaskAttemptListenerImpl: Ping from attempt_1401425739447_0003_m_000000_0
2014-05-30 10:38:35,075 INFO [IPC Server handler 5 on 47412] org.apache.hadoop.mapred.TaskAttemptListenerImpl: Ping from attempt_1401425739447_0003_m_000000_0
2014-05-30 10:38:38,079 INFO [IPC Server handler 6 on 47412] org.apache.hadoop.mapred.TaskAttemptListenerImpl: Ping from attempt_1401425739447_0003_m_000000_0
this error continues...

我可以在 oozie 中运行 java 示例(在 oozie 中给出)mapreduce 程序。

如果我尝试运行 pig、hive、sqoop 或我自己的 java mapreduce 程序,我会收到上述错误,我不知道它为什么会出现。我已经在 oozie 中给出了我的 hadoop 配置路径,并且我启动了我的 jobhistory 服务器。

请帮帮我...

【问题讨论】:

【参考方案1】:

NodeManager 和资源管理器在同一系统中运行。所以我得到了这个错误。我在第二个系统中启动了节点管理器,我的问题就解决了。

【讨论】:

如何更改不同机器的节点管理器?请帮忙。 你好,如果你有一个多节点集群,意味着在一个系统中启动 nodemanager、datanode,在另一台机器上启动 namenode、resourcemanager、historyserver。 但是,我在主节点上应用 start-all.sh,它将启动所有节点上的所有服务。它启动节点管理器,所有节点上的数据节点和主节点上的资源管理器。我应该使用什么命令来像你说的那样运行? 启动服务的命令使用以下命令,nodemanager - “yarn nodemanager”,resourcemanager - “yarn resourcemanager”,namenode - “hadoop namenode”,datanode - “hadoop datanode” jobhistoryserver - “mapred historyserver”注意:导航到 bin 文件夹并执行命令 这意味着它不需要有 2 个主节点。我必须去每个节点并一个一个地打开我想要的服务,是这样吗?

以上是关于如何使用 hadoop-2.2 在 oozie 中执行 mapreduce 程序的主要内容,如果未能解决你的问题,请参考以下文章

如何在 oozie 中将 pig 选项作为参数传递?

使用 Oozie 在 Hive 上执行查询时,如何解决“只能使用 kerberos 或 Web 身份验证颁发委托令牌”?

如何使用oozie检查文件是不是存在于HDFS位置?

Oozie - 从 Hive 操作中捕获输出

oozie中如何rerun一个workflow

我们可以在 oozie 工作流 xml 中访问整个 hadoop 作业日志吗?