2

我正在使用 Hadoop 2.2.0 运行 Apache Pig 0.11.2。

我在 Pig 中运行的大多数简单作业都运行良好。

但是,每当我尝试在大型数据集或LIMIT运算符上使用GROUP BY时,都会收到以下连接错误:

2013-12-18 11:21:28,400 [main] INFO org.apache.hadoop.ipc.Client - 重试连接到服务器:tasktracker2/10.201.2.145:54957。已尝试 0 次;重试策略是 RetryUpToMaximumCountWithFixedSleep(maxRetries=3, sleepTime=1 SECONDS) 2013-12-18 11:21:29,402 [main] INFO org.apache.hadoop.ipc.Client - 重试连接到服务器:tasktracker2/10.201.2.145:54957 . 已尝试 1 次;重试策略是 RetryUpToMaximumCountWithFixedSleep(maxRetries=3, sleepTime=1 SECONDS) 2013-12-18 11:21:30,403 [main] INFO org.apache.hadoop.ipc.Client - 重试连接到服务器:tasktracker2/10.201.2.145:54957 . 已尝试 2 次;重试策略是 RetryUpToMaximumCountWithFixedSleep(maxRetries=3, sleepTime=1 SECONDS) 2013-12-18 11:21:30,507 [main] INFO org.apache.hadoop.mapred。ClientServiceDelegate - 应用程序状态已完成。最终应用状态=成功。重定向到作业历史服务器 2013-12-18 11:21:31,703 [main] INFO org.apache.hadoop.ipc.Client - 重试连接到服务器:tasktracker1/10.201.2.20:49528。已尝试 0 次;重试策略是 RetryUpToMaximumCountWithFixedSleep(maxRetries=3, sleepTime=1 SECONDS) 2013-12-18 11:21:32,704 [main] INFO org.apache.hadoop.ipc.Client - 重试连接到服务器:tasktracker1/10.201.2.20:49528 . 已尝试 1 次;重试策略是 RetryUpToMaximumCountWithFixedSleep(maxRetries=3, sleepTime=1 SECONDS) 2013-12-18 11:21:33,705 [main] INFO org.apache.hadoop.ipc.Client - 重试连接到服务器:tasktracker1/10.201.2.20:49528 . 已尝试 2 次;重试策略是 RetryUpToMaximumCountWithFixedSleep(maxRetries=3, sleepTime=1 SECONDS) 2013-12-18 11:21:33,809 [main] INFO org.apache.hadoop.mapred.ClientServiceDelegate - 应用程序状态已完成。最终应用状态=成功。重定向到作业历史服务器 2013-12-18 11:21:34,890 [main] INFO org.apache.hadoop.ipc.Client - 重试连接到服务器:tasktracker3/10.201.2.169:50000。已尝试 0 次;重试策略是 RetryUpToMaximumCountWithFixedSleep(maxRetries=3, sleepTime=1 SECONDS) 2013-12-18 11:21:35,891 [main] INFO org.apache.hadoop.ipc.Client - 重试连接到服务器:tasktracker3/10.201.2.169:50000 . 已尝试 1 次;重试策略是 RetryUpToMaximumCountWithFixedSleep(maxRetries=3, sleepTime=1 SECONDS) 2013-12-18 11:21:36,893 [main] INFO org.apache.hadoop.ipc.Client - 重试连接到服务器:tasktracker3/10.201.2.169:50000 . 已尝试 2 次;重试策略是 RetryUpToMaximumCountWithFixedSleep(maxRetries=3, sleepTime=1 SECONDS) 2013-12-18 11:21:36,996 [main] INFO org.apache.hadoop.mapred.ClientServiceDelegate - 应用程序状态已完成。最终应用状态=成功。重定向到作业历史服务器 2013-12-18 11:21:37,152 [main] INFO org.apache.hadoop.mapred.ClientServiceDelegate - 应用程序状态已完成。最终应用状态=成功。重定向到作业历史服务器 ClientServiceDelegate - 应用程序状态已完成。最终应用状态=成功。重定向到作业历史服务器 ClientServiceDelegate - 应用程序状态已完成。最终应用状态=成功。重定向到作业历史服务器

奇怪的是,在这些错误持续出现大约几分钟后,它们会停止,并且正确的输出显示在底部。

所以 Hadoop 运行良好并计算出正确的输出。问题只是这些不断弹出的连接错误。并且导致脚本的执行时间增加。

我注意到的一件事是,每当出现此错误时,作业都会在作业期间创建并运行多个 JAR 文件。但是,在这些消息弹出几分钟后,最终出现了正确的输出。

我有 5 个节点集群 1 个名称节点和 4 个数据节点。所有守护进程都运行良好。

关于如何摆脱这些消息的任何建议?

4

1 回答 1

2

看起来您的作业历史服务器没有运行。

  1. 打开日志聚合(您可能已经这样做了,而您只是缺少服务器) - 将其放入您的yarn-site.xml

    <property>
       <name>yarn.log-aggregation-enable</name>
       <value>true</value>
    </property>
    
  2. 运行作业历史服务器:

    $HADOOP_INSTALL/sbin/mr-jobhistory-daemon.sh start historyserver
    
  3. 再次尝试运行 Pig 脚本

于 2014-06-03T19:37:54.900 回答