我正在使用 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 个数据节点。所有守护进程都运行良好。
关于如何摆脱这些消息的任何建议?