执行远程 Apache Pig 脚本时如何查看终端日志
How to view the terminal log when executing a remote Apache Pig script
我在 Apache Pig 中编写了一个脚本,该脚本正在 Hadoop 集群上执行。它加载约 55,000 个 .gz 文件并需要 35 小时才能完成。然后它应该将结果存储在一个文件中,但它没有,所以我想调试发生的事情。
我通过键入以下内容来执行脚本:
pig script.pig
在 Ubuntu 虚拟机的终端中,我看到有关作业进度等信息。如何在关闭本地计算机时查看这些消息?我真的需要让我的本地计算机 运行 整整 35 小时才能看到这些消息吗?
我知道您可以在 Ubuntu 中键入命令并通过键入存储响应:
command > logfile.txt
但我认为这在这里行不通,因为hadoop hdfs系统和虚拟机之间的连接在关闭本地机器时丢失了,所以日志消息必须存储在hadoop集群上。但是如何实现这一点,或者这是自动完成的,我根本不知道去哪里找?
如果您从本地计算机 运行 如果进程被终止(例如,通过关闭您的计算机),那么 hadoop 将终止该作业。这就是为什么您通常希望从集群中的一台机器或 运行 24/7 的某个门户节点开始长时间的 运行ning 作业。
如果可用,您还可以使用 Oozie 之类的工具来 运行 您的作业,然后 Oozie 服务器将处理 运行 作业并提供日志。
我在 Apache Pig 中编写了一个脚本,该脚本正在 Hadoop 集群上执行。它加载约 55,000 个 .gz 文件并需要 35 小时才能完成。然后它应该将结果存储在一个文件中,但它没有,所以我想调试发生的事情。
我通过键入以下内容来执行脚本:
pig script.pig
在 Ubuntu 虚拟机的终端中,我看到有关作业进度等信息。如何在关闭本地计算机时查看这些消息?我真的需要让我的本地计算机 运行 整整 35 小时才能看到这些消息吗?
我知道您可以在 Ubuntu 中键入命令并通过键入存储响应:
command > logfile.txt
但我认为这在这里行不通,因为hadoop hdfs系统和虚拟机之间的连接在关闭本地机器时丢失了,所以日志消息必须存储在hadoop集群上。但是如何实现这一点,或者这是自动完成的,我根本不知道去哪里找?
如果您从本地计算机 运行 如果进程被终止(例如,通过关闭您的计算机),那么 hadoop 将终止该作业。这就是为什么您通常希望从集群中的一台机器或 运行 24/7 的某个门户节点开始长时间的 运行ning 作业。
如果可用,您还可以使用 Oozie 之类的工具来 运行 您的作业,然后 Oozie 服务器将处理 运行 作业并提供日志。