MAPREDUCE服务 MRS-提交Storm拓扑后Worker日志为空:参考信息

时间:2024-08-27 10:23:52

参考信息

  1. nimbus.task.launch.secs和supervisor.worker.start.timeout.secs这两个参数分别代表nimbus端和supervisor端对于拓扑启动的超时容忍时间,一般nimbus.task.launch.secs的值要大于等于supervisor.worker.start.timeout.secs的值(建议相等或略大,如果超出太多会影响任务重分配的效率)。
    • nimbus.task.launch.secs:nimbus在超过该参数配置的时间内没有收到拓扑的task发的心跳时,会将该拓扑重新分配(分配给别的supervisor),同时会刷新zk中的任务信息,supervisor读到zk中的任务信息并且与自己当前所启动的拓扑进行比较,如果存在拓扑已经不属于自己,那么则会删除该拓扑的元数据,也就是/srv/Bigdata/streaming_data/stormdir/supervisor/stormdist/{worker-id}目录。
    • supervisor.worker.start.timeout.secs:supervisor启动worker后,在该参数配置的时间内没有收到worker的心跳时,supervisor会主动停掉worker,等待worker的重新调度,一般在业务启动时间较长时适当增加该参数的值,保证worker能启动成功。

      如果supervisor.worker.start.timeout.secs配置的值比nimbus.task.launch.secs的值大,那么则会出现supervisor的容忍时间没到,仍然继续让worker启动,而nimbus却认定该业务启动超时,将该业务分配给了其他主机,这时supervisor的后台线程发现任务不一致,删除了拓扑的元数据,导致接下来worker在启动过程中要读取stormconf.ser时,发现该文件已经不存在了,就会抛出FileNotFoundException。

  2. nimbus.task.timeout.secs和supervisor.worker.timeout.secs这两个参数则分别代表nimbus端和supervisor端对于拓扑运行过程中心跳上报的超时容忍时间,一般nimbus.task.timeout.secs的值要大于等于supervisor.worker.timeout.secs的值(建议相等或略大),原理同上。
support.huaweicloud.com/trouble-mrs/mrs_03_0098.html