我正在使用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 [主要]信息 org.apache.hadoop.mapred.ClientServiceDelegate - 应用程序状态为 完成。 FinalApplicationStatus =成功。重定向到工作 历史服务器2013-12-18 11:21:31,703 [主要]信息 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 [主要]信息 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 [主要]信息 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 [主要]信息 org.apache.hadoop.mapred.ClientServiceDelegate - 应用程序状态为 完成。 FinalApplicationStatus =成功。重定向到工作 历史服务器2013-12-18 11:21:34,890 [主要]信息 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 [主要]信息 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 [主要]信息 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 [主要]信息 org.apache.hadoop.mapred.ClientServiceDelegate - 应用程序状态为 完成。 FinalApplicationStatus =成功。重定向到工作 历史服务器2013-12-18 11:21:37,152 [主要] INFO org.apache.hadoop.mapred.ClientServiceDelegate - 应用程序状态为 完成。 FinalApplicationStatus =成功。重定向到工作 历史服务器
奇怪的是,在这些错误出现几分钟后,它们会停止,并且正确的输出显示在底部。
所以Hadoop正常运行并计算出正确的输出。问题是这些连接错误不断出现。并且导致脚本执行时间增加。
我注意到的一件事是,只要出现此错误,作业就会在作业期间创建并运行多个JAR文件。但是,在弹出这些消息几分钟后,最终会出现正确的输出。
我有5个节点集群1 namenode和4个datanode。所有的守护进程都运行良好。
有关如何摆脱这些消息的任何建议吗?
答案 0 :(得分:2)
看起来你的工作历史记录服务器没有运行。
启用日志聚合(您可能已经完成了这项操作,而您只是错过了服务器) - 将其添加到yarn-site.xml
:
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
运行作业历史记录服务器:
$HADOOP_INSTALL/sbin/mr-jobhistory-daemon.sh start historyserver
尝试再次运行Pig脚本