【发布时间】:2013-07-29 15:11:32
【问题描述】:
我正在使用 Hadoop 2.0.5 运行 Apache Pig .11.1。
我在 Pig 中运行的大多数简单作业都运行良好。
但是,每当我尝试在大型数据集或 LIMIT 运算符上使用 GROUP BY 时,都会出现以下连接错误:
2013-07-29 13:24:08,591 [main] INFO org.apache.hadoop.mapred.ClientServiceDelegate - Application state is completed. FinalApplicationStatus=SUCCEEDED. Redirecting to job history server
013-07-29 11:57:29,421 [main] INFO org.apache.hadoop.ipc.Client - Retrying connect to server: 0.0.0.0/0.0.0.0:10020. Already tried 0 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1 SECONDS)
2013-07-29 11:57:30,421 [main] INFO org.apache.hadoop.ipc.Client - Retrying connect to server: 0.0.0.0/0.0.0.0:10020. Already tried 1 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1 SECONDS)
2013-07-29 11:57:31,422 [main] INFO org.apache.hadoop.ipc.Client - Retrying connect to server: 0.0.0.0/0.0.0.0:10020. Already tried 2 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1 SECONDS)
...
2013-07-29 13:24:18,597 [main] INFO org.apache.hadoop.ipc.Client - Retrying connect to server: 0.0.0.0/0.0.0.0:10020. Already tried 9 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1 SECONDS)
2013-07-29 13:24:18,598 [main] ERROR org.apache.hadoop.security.UserGroupInformation - PriviledgedActionException as:gpadmin (auth:SIMPLE) cause:java.io.IOException
奇怪的是,这些错误持续出现大约 2 分钟后,它们就会停止,并且正确的输出显示在底部。
所以 Hadoop 运行良好并计算出正确的输出。问题只是这些连接错误不断弹出。
LIMIT 运算符总是会收到此错误。它发生在 MapReduce 模式和本地模式上。 GROUP BY 运算符可以在小型数据集上正常工作。
我注意到的一件事是,每当出现此错误时,作业都会在作业期间创建并运行多个 JAR 文件。但是,在这些消息弹出几分钟后,终于出现了正确的输出。
关于如何摆脱这些消息的任何建议?
【问题讨论】:
-
你的namenode是本地的吗?如果没有,它会尝试在 0.0.0.0 访问它。它可能没有从 core-site.xml 中获取名称节点位置,或者您的 /etc/hosts 文件搞砸了。
-
namenode 是本地的。 core-site.xml 和 /etc/hosts 似乎都已正确配置,因为我的大多数其他 Pig/Hadoop 作业都按应有的方式工作。另外,在连接错误显示几分钟后会出现正确的作业输出。所以我认为问题是别的。
-
@AndyBotelho 也许值得检查一下jobhistory服务器的日志
-
@Andy Botelho 你能告诉我 1.) 你正在运行多少个节点集群 2.) 你使用的是什么 Linux 发行版 3.) 你的数据大小是多少
-
是的,问题是作业历史服务器没有运行。为了解决这个问题,我们所要做的就是在命令提示符中输入这个命令: mr-jobhistory-daemon.sh start historyserver 这个命令启动作业历史服务器。现在,如果我们输入“jps”,我们可以看到 JobHistoryServer 正在运行,我的 Pig 作业不再浪费时间尝试连接到服务器。
标签: hadoop apache-pig