No output will be sent to port 13401 for the rest of the job
No output will be sent to port 13401 for the rest of the job
问题
DataStage集群中, 大部分作业运行都正常, 只有几个作业执行时报出以下警告, 分析了各配置都正常, 到底是哪里问题呢?
main_program: Received SIGPIPE signal caused by closing of the socket on port 13401.
No output will be sent to port 13401 for the rest of the job.
原因分析
其他作业运行都正常, 说明环境大概率是没有问题的
从错误中的端口来看, 13401是JobMonApp进程服务使用, 主要是监控作业
那么, 我们就从监控相关参数来进行调整验证!
验证
方案1
关闭作业监视:
将环境变量 APT_NO_JOBMON 设置为 true , 可以在作业或项目级别设置.
验证测试是Ok的!
方案2
调整作业监视相关的参数值.
有三个环境变量可以控制作业监控:
- APT_MONITOR_TIME - 启用基于时间的监控。指定监控器更新之间的秒数
- APT_MONITOR_SIZE - 启用基于行的监控。指定在监控器更新之间处理的行数
- APT_MONITOR_MINTIME - 仅在打开基于行的监控时有效。指定监视器更新之间的最小秒数。默认为 10 秒。
对于处理百万级甚至更多数据的运行时间较长的作业, 应适当调大参数值, 仍能获得监视器更新:
APT_MONITOR_SIZE=100000
APT_MONITOR_MINTIME=60
APT_MONITOR_TIME=
对于处理较快的作业, 应适当降低这些值, 通常APT_MONITOR_MINTIME
不应低于默认值10秒, 对于运行时间超过 1 小时的作业,不应低于 30 秒。
蚂蚁🐜再小也是肉🥩!
No output will be sent to port 13401 for the rest of the job
http://heibanbai.com.cn/posts/f701799e/
“您的支持,我的动力!觉得不错的话,给点打赏吧 ୧(๑•̀⌄•́๑)૭”
微信支付
支付宝支付