zoukankan      html  css  js  c++  java
  • 附3、第二天课程学习整体思路及问题 ---没用

    问题:
    1、集群如何启动,任务如何执行?
    java -server nimubs,supervisor
    client--->createTopology(序列化)--->提交jar到nimbuinbox--->nimbus分配任务(task总数/worker数)---.
    启动worker<------识别自己的任务<----supervisor---->watch----zk
    启动Spout/Bolt----TaskInfo<------worker---->zk
    集群架构中的各个模块如何启动?
    nimbus:用户启动
    supervisor:用户启动
    worker:supervisor启动
    Task:worker启动

    任务如何分配,如何执行?
    看图说话

    2、集群如何通信?
    集群架构中的各个模块是如何通信的?外部通信
    拓扑程序中的各个Task是如何通信的?内部通信

    3、如何保证消息的不丢失
    ack-fail机制如何实现的?
    成功:ack方法
    失败:fail方法

    4、[动手练习]尝试自己实现一个类似storm数据执行的框架

    1,任务分配
    ----->Task总数
    ----->可用worker数量
    2,通信机制
    ----->去zk获取每个组件的任务
    ----->启动不同服务
    nimbus,手动 java -server xxx.jar main-class
    superv,手动 java -server xxx.jar main-class
    worker,supervisor启动------java -server xxx.jar main-class(main(Worker.mk_work(new Worker())))
    Task, Worker启动Task--------Jvm--->Task.mk_Task()
    3,心跳机制
    thread1------tag=true
    thread2------>tag=true------tag=false
    thread1------>tag=true------tag=false------tag=true
    thread2------>tag=true------tag=false------tag=true-----tag=false
    4、任务执行(数据流)
    spout.nextTuple(tuple)----streamGrouping---> incomingQueue-------->bolt1.exeute(tuple)-----streamGrouping----> incomingQueue-------->bolt2.exeute(tuple)

    [实现数据执行的框架]
    spout-----线程1
    incomingQueue------queue
    bolt1-----线程2
    incomingQueue------queue
    bolt2-----线程3

    需要技术:
    线程池----->Exeutes.newFixPool(3)
    队列------->ArrayBolckingQueue(1000)

    伪代码:

    MyStrom{
    main(){
    //1、配置一个线程池
    //2、向线程池中提交任务
    spoutOutPutQueue = new ArrayBolckingQueue(1000)
    submit(new MySpout(spoutOutPutQueue))------collector.emit(tuple)------spoutOutPutQueue
    bolt1OutPutQueue = new ArrayBolckingQueue(1000)
    submit(new MyBolt1(spoutOutPutQueue,bolt1OutPutQueue))------>spoutOutPutQueue---->bolt1.execute(),collector.emit(tuple)------bolt1OutPutQueue
    submit(new MyBolt1(bolt1OutPutQueue))------>spoutOutPutQueue---->bolt1.execute()
    }
    }




















  • 相关阅读:
    uoj#207 共价大爷游长沙
    bzoj4006 [JLOI2015]管道连接
    bzoj2595 [Wc2008]游览计划
    uoj#300.【CTSC2017】吉夫特
    bzoj2565 最长双回文串
    bzoj2342 [Shoi2011]双倍回文
    bzoj3676 [Apio2014]回文串
    [转载]物理大神的八卦完整版——大爱物理
    低层次数论书籍大杂烩
    控制论课题
  • 原文地址:https://www.cnblogs.com/shan13936/p/13837928.html
Copyright © 2011-2022 走看看