美文网首页
2018-03-23周五开会小结

2018-03-23周五开会小结

作者: 泽林呗 | 来源:发表于2018-03-23 09:22 被阅读0次
本周主要工作,在Storm集群上测试基于Wordcount程序的CheckPoint机制
  • storm的checkPoint机制必须实现BaseStatefulBolt或继承IStatefulBolt
  • 状态包括:Prepare、Committing、Committed
  • Action包括:RollBack、INITSTATE、COMMIT
CheckPoint流程
CheckPointState中的nextState()
    /**
     * Get the next state based on this checkpoint state.
     *
     * @param recovering if in recovering phase
     * @return the next checkpoint state based on this state.
     */
    public CheckPointState nextState(boolean recovering) {
        CheckPointState nextState;
        switch (state) {
            case PREPARING:
                nextState = recovering ? new CheckPointState(txid - 1, COMMITTED) : new CheckPointState(txid, COMMITTING);
                break;
            case COMMITTING:
                nextState = new CheckPointState(txid, COMMITTED);
                break;
            case COMMITTED:
                nextState = recovering ? this : new CheckPointState(txid + 1, PREPARING);
                break;
            default:
                throw new IllegalStateException("Unknown state " + state);
        }
        return nextState;
    }

CheckPointState中的nextAction()

  /**
     * Get the next action to perform based on this checkpoint state.
     *
     * @param recovering if in recovering phase
     * @return the next action to perform based on this state
     */
    public Action nextAction(boolean recovering) {
        Action action;
        switch (state) {
            case PREPARING:
                action = recovering ? Action.ROLLBACK : Action.PREPARE;
                break;
            case COMMITTING:
                action = Action.COMMIT;
                break;
            case COMMITTED:
                action = recovering ? Action.INITSTATE : Action.PREPARE;
                break;
            default:
                throw new IllegalStateException("Unknown state " + state);
        }
        return action;
    }

在storm的CheckPoint机制中,系统会检查是否收到来自该Comment的所以输入流中所有任务的检查点,通过类BaseStatefulBoltExecutor中的processCheckPoint()

processCheckPoint()

如果达到了,则ack,或者直接忽略

相关文章

  • 2018-03-23周五开会小结

    本周主要工作,在Storm集群上测试基于Wordcount程序的CheckPoint机制 storm的checkP...

  • 20171201周五开会小结

    本周工作 完成了Json和SchemaTuple的互转功能完成了获得的Json是否在三种形状里的验证功能 开发过程...

  • 20170928周五开会小结

    Hadoop mapreduce:主要是看了mapreduce相关的论文以及实现了一个简单的mapreducema...

  • 20171110周五开会小结

    工作进度 完成aggregate在web端代码的编写,bug也调好了 postPredicate在进行,遇到一些问...

  • 20170922周五开会小结

    StormOnYARN源码阅读 下载StormOnYARN源码并且编译运行成功 根据StormOnYarn整体架构...

  • 20171222周五开会小结

    精一公司API 编写精一公司文档要求的API,包括posNonSpecialSearch和posSpecialSe...

  • 20171117周五开会小结

    完成了WaterWheel上Postpredicate功能的编写 空闲时间读了一下YARN的distributes...

  • 20171215周五开会小结

    本周因为项目的工作吿一小段落,所以比较多的都是在看书 搭了一个三台机子的hadoop集群 在集群上对HDFS以及h...

  • 2018-03-09周五开会小结

    本周工作:与NLP项目的APP对接,完成众多查询API,包括: 无条件范围查询 有条件范围查询 统计查询(求和、计...

  • 2017.12.3. Yu - 日记 - 秋季

    小结 - 去图书馆,写作业,开会。 明日计划 - 上学。

网友评论

      本文标题:2018-03-23周五开会小结

      本文链接:https://www.haomeiwen.com/subject/fvstcftx.html