zoukankan      html  css  js  c++  java
  • Storm 第四章 Storm常见问题

    1、集群如何启动,任务如何执行?
      java -server nimbus,supervisor
      client--->createTopology(序列化)--->提交jar到nimbusinbox--->nimibus分配任务(task总数/worker数)---写到zk。
      启动worker<----识别自己的任务<----supervisor----->watch----zk
      启动Spout/Bolt<----TaskInfo<-----worker---->task
    2、集群架构中各个模块如何启动?
      nimbus:用户启动
      supervisor:用户启动
      worker:supervisor启动
      Task:worker启动
    3、集群如何通信?
      集群架构中的各个模块是如何通信的?外部通信
      拓扑程序中的各个Task是如何通信的?内部通信
    4、Worker与topology
      一个worker只属于一个topology,每个worker中运行的task只能属于这个topology。反之,一个topology包含多个worker,其实就是这个topology运行在多个worker上。

      一个topology要求worker数量如果不被满足,集群在分配任务时,根据现有的worker先运行topology。如果当前集群中的worker数量为0,那么最新提交的topology将只会标记active,
      不会运行,只有当集群有了空闲资源才会运行。

    5、如何指定驱动类中每个组件的并发度数量?如何设置worker数量?
      1,根据上游的数据量来设置spout的并发度。
      2,根据业务复杂度和execute方法执行时间来设置bolt并发度。
      3,根据集群的可用资源来配置,一般情况下70%的资源使用率。
      4,worker的数量理论上根据程序并发度的task数据来划分,在实际业务场景中,需要反复调整。

    6、ack-fail机制
      1,需要ackfail时,请为每个tuple生成一个messageId,这个messageId是用来标识你关心的tuple,当这个tuple被完全处理时,storm框架会调用spout的ack方法,否则调用fail。至于你的
      消息是否重发,完全由自己处理。
      2,在Spout有并发度的情况下,storm会根据tuple最开始的所属spout taskId,通知相应的spoutTask。
      3,在流式计算中topology的bolt组件可以配置多个的,在每个环节中,都需要bolt组件显示的高速storm框架,自己对当前接受的这个tuple处理完成。




  • 相关阅读:
    传Windows 7 RC泄露版中含有木马 狼人:
    金山:3G时代 上网安全面临更大挑战 狼人:
    McAfee:僵尸网新威胁远甚Conficker 狼人:
    安全专家:70GB财务数据被僵尸网络盗窃 狼人:
    卡巴斯基中国地区4月恶意软件排行榜 狼人:
    MPAA组织遭遇尴尬 网页存在XSS攻击漏洞 狼人:
    股市回暖 网上炒股安全风险骤增 狼人:
    微软首次针对Windows 7推杀毒软件 年内将推出 狼人:
    黑客数度入侵美国联邦航空总署飞航控制系统 狼人:
    瑞星对Windows7捆绑杀毒软件等消息的回应 狼人:
  • 原文地址:https://www.cnblogs.com/zhaobingqing/p/8520774.html
Copyright © 2011-2022 走看看