oozie 工作流抛出套接字错误,但在 10 分钟后提交了两次工作流
oozie workflow throws Socket error but submits the workflow twice after 10 minutes
我遇到了一个非常奇怪的问题。我有工作流 xml,其中包含 20 个 fork-join 节点,每个节点包含 4-8 个操作。当我提交这个工作流程时,它等待了 5-6 分钟,抛出
"Error: IO_ERROR : java.net.SocketException: Connection reset"
但实际上在后台发生的是它在 10 分钟后提交一个工作流程,在 12 分钟后提交另一个工作流程。所以它最终触发了两次。
我尝试验证我的 xml,它返回“OK”。由于它不返回工作流,我无法进行调试。老实说,我什至不知道从哪里开始调试。
我有类似的工作流程和较小的 forks(6),它们都工作正常。但不确定为什么这个会引起所有麻烦。
您卡在上面的错误看起来更像是来自客户端的错误。我认为改为检查服务器日志是个好主意。
oozie job -oozie http://localhost:11000 -info <wfid>
oozie job -oozie http://localhost:11000 -log <wfid>
也有可能是您使用了无效的 Oozie URL。例如,如果您的集群是 kerberos 化的,则必须使用与 kerberos 主体匹配的 Oozie URL。如果您来自 kerberized 环境 运行,请尝试使用 principle 和 keytab (kinit user_principle -k -t key_tab
) 进行 Kinit,然后在这样的命令中使用 FQN 和 oozie 服务器名称
oozie job -oozie http://node_name@domain:11000/oozie -config xxxx -run
这些日志没有提供任何有意义的信息。所以我将我的工作流文件分成 2 个 xml。我从第一个工作流的最后一个动作调用了第二个工作流。它运行良好,没有任何问题。
我遇到了一个非常奇怪的问题。我有工作流 xml,其中包含 20 个 fork-join 节点,每个节点包含 4-8 个操作。当我提交这个工作流程时,它等待了 5-6 分钟,抛出
"Error: IO_ERROR : java.net.SocketException: Connection reset"
但实际上在后台发生的是它在 10 分钟后提交一个工作流程,在 12 分钟后提交另一个工作流程。所以它最终触发了两次。
我尝试验证我的 xml,它返回“OK”。由于它不返回工作流,我无法进行调试。老实说,我什至不知道从哪里开始调试。
我有类似的工作流程和较小的 forks(6),它们都工作正常。但不确定为什么这个会引起所有麻烦。
您卡在上面的错误看起来更像是来自客户端的错误。我认为改为检查服务器日志是个好主意。
oozie job -oozie http://localhost:11000 -info <wfid>
oozie job -oozie http://localhost:11000 -log <wfid>
也有可能是您使用了无效的 Oozie URL。例如,如果您的集群是 kerberos 化的,则必须使用与 kerberos 主体匹配的 Oozie URL。如果您来自 kerberized 环境 运行,请尝试使用 principle 和 keytab (kinit user_principle -k -t key_tab
) 进行 Kinit,然后在这样的命令中使用 FQN 和 oozie 服务器名称
oozie job -oozie http://node_name@domain:11000/oozie -config xxxx -run
这些日志没有提供任何有意义的信息。所以我将我的工作流文件分成 2 个 xml。我从第一个工作流的最后一个动作调用了第二个工作流。它运行良好,没有任何问题。