- 博客(24)
- 收藏
- 关注
原创 安排考场(一)
2022SC@SDUSC维护表--教室使用情况(闲、占)功能一:安排考场功能二:取消安排功能三:手动排考(编辑功能)功能四:确认排考逻辑使用规则:1)若随堂考,考场1,一定是上课教室,手动排考时一定遵循该原则2)一定先自动排考,若不满意,再使用手动排考3)自动排考必须取消后,才能手动排考,4)必须安排后,才能取消,确认后,不允许更改5)手动排考,若使用不到第二个教室,也要填上“空”功能一逻辑:1.判断排考状态!=“已排”2.判断确认状态(未写,打算
2022-05-11 16:32:08
150
原创 项目准备工作
2022SC@SDUSC1.项目框架项目介绍 · JeecgBoot 开发文档 · 看云2.项目版本idea社区版2021.1.1jeecg-boot-master.zipredis64-3.0.501-绿色版本解压即用.zipapache-maven-3.6.3.zip3.需求分析之我的工作(申请表单最终目标 :学校官网的申请表单)4.项目遇到的困难1)最新版的idea不行,具体问题应该是配置时,不记得了2)目前的idea显示不出n...
2022-04-24 19:34:30
186
原创 Custom Grouping
2021SC@SDUSCpublic interface CustomStreamGrouping extends Serializable { /** * Tells the stream grouping at runtime the tasks in the target bolt. This information should be used in chooseTasks to determine the * target tasks. *
2021-12-27 21:53:04
127
原创 Direct Grouping
2021SC@SDUSC使用方法(步骤):1.上游在prepare方法保存下游bolt的taskId列表public class SentenceDirectBolt extends BaseRichBolt { private static final Logger LOGGER = LoggerFactory.getLogger(SentenceDirectBolt.class); private OutputCollector collector; p
2021-12-22 21:26:50
124
原创 Fields Grouping
2021SC@SDUSC以代码为例:public class Toplogy { public static void main(String[] args) { TopologyBuilder builder = new TopologyBuilder(); builder.setSpout("spout", new Spot(), 1); builder.setBolt("bolt",new Bolt() , 3).fieldsGrouping("spout", new
2021-12-17 19:24:13
163
原创 Stream groupings(团队合作项目)
2021SC@SDUSCStream groupings主要分为以下七种:1. Shuffle Grouping 随机分组。2. Fields Grouping 按字段分组。3. All Grouping 广播发送。4. Global Grouping 全局分组。5. None Grouping 不分组。6. Direct Grouping 指向型分组。7. Local or shuffle grouping 本地或随机分组。还有一种为customGrouping,是给用
2021-12-09 20:37:14
426
原创 Nimbus(补充二)
2021SC@SDUSCmk-scheduler函数定义如下:mk-scheduler函数( defn mk-scheduler [ conf inimbus ] ;; 当前版本getForcedScheduler函数返回nil ( let [ forced-scheduler ( .getForcedScheduler inimbus) ;; scheduler绑定IScheduler接口的实现 ;; cond等价于java中的switch,我们可以发
2021-11-30 19:03:38
1362
原创 Nimbus(补充)
2021SC@SDUSCnimbus是storm集群的"控制器",是storm集群的重要组成部分。我们可以通用执行bin/storm nimbus >/dev/null 2>&1 &来启动nimbus。bin/storm是一个python脚本,在这个脚本中定义了一个nimbus函数:nimbus函数def nimbus( klass = "backtype.storm.daemon.nimbus" ): """Syntax: [storm nimb.
2021-11-24 17:12:19
977
原创 Supervisor(四)
2021SC@SDUSC1.在Supervisor的启动过程中,即在mkSupervisor()方法中,源码如下:SyncSupervisorEvent会定时的循环扫描Zookeeper的任务分配目录,看是否有自己的任务,如果 有,那么把对应的信息写到本地(Supervisor)机器的指定目录中,这个工作主要是有 SyncSupervisorEvent 线程中的run方法来完成的。2.SyncSupervisorEvent 的成员信息3.任务配置信息Assignment对象所包含的相关.
2021-11-17 21:08:45
1112
原创 Supervisor(三)
2021SC@SDUSCwait-for-workers-launch函数定义如下:wait-for-workers-launch函数;; wait-for-workers-launch函数等待所有worker启动完成( defn- wait-for-workers-launch [ conf ids ] ( let [ start-time ( current-time-secs )] ( doseq [ id ids ] ;; 调用wait-for-wor
2021-11-15 18:34:00
274
原创 Supervisor(二)
2021SC@SDUSCsupervisor-data函数定义如下:supervisor-data函数返回一个包含了supervisor元数据的map对象。supervisor-data函数( defn supervisor-data [ conf shared-context ^ ISupervisor isupervisor ] ;; 保存集群配置信息 { :conf conf ;; 启动supervisor时,shared-context为nil :s
2021-11-04 19:23:42
295
原创 Supervisor(一)
2021SC@SDUSC首先,我们再来看一下supervisor的工作:Storm将每个节点分为主控节点和工作节点两种,其中主控节点只有一个,工作节点可以有多个。每个工作节点运行Supervisor守护进程,负责监听工作节点上已经分配的主机作业,启动和停止Nimbus已经分配的工作进程。supervisor会定时从zookeeper获取拓补信息topologies、任务分配信息assignments及各类心跳信息,以此为依据进行任务分配。在supervisor同步时,会根据新的任务分配情
2021-10-28 22:39:11
439
原创 Nimbus(三)
2021SC@SDUSC在这篇文章中,我们着重去看nimbus提交任务的过程1 .首先是校验任务的名称是否合法2 校验是否有同名的任务已经在了3 校验在提交列表中是否有同名的任务,这个是避免连续的多次提交4提交任务了在上面四个步骤中,第四步是最重要也是最复杂的,我们来详细介绍第四步4.1 对配置信息进行处理4.2 验证任务的结构 Common.validate_basic(normalizedTopology, totalStormConf, topolog...
2021-10-21 21:34:53
190
原创 Nimbus(二)
2021SC@SDUSC上一篇博客展示了nimbus的核心代码和一些基本的分析注释,本文将详细分析解释第一部分代码,并进行补充。nimbus-data nimbus-data函数的定义如下所示(defn nimbus-data [conf inimbus](let [forced-scheduler (.getForcedScheduler inimbus)] {:conf conf :inimbus inimbus :submitted-co...
2021-10-14 16:32:03
276
原创 Nimbus
2021SC@SDUSC代码分析以注释方式加在原文中nimbus-data函数定义如下:(defn nimbus-data [conf inimbus](let [forced-scheduler (.getForcedScheduler inimbus)] {:conf conf :inimbus inimbus :submitted-count (atom 0) //表示当前已经提交的Topology的数目; :storm-cluster-s...
2021-10-07 22:00:47
154
原创 STORM介绍及项目分工
(一)strom介绍Storm 是一个免费开源的分布式实时计算系统。简化了流数据的可靠处理,像 Hadoop 一样实现实时批处理。Storm 很简单,可用于任意编程语言。Apache Storm 采用Clojure开发。目前的最新版本是Apache Storm2.3.0Storm 有很多应用场景,包括实时数据分析、联机学习、持续计算、分布式 RPC、ETL 等。Storm 速度非常快,一个测试在单节点上实现每秒一百万的组处理。Storm也是基于C/S架构来进行工作的,C负责将数据处理的方式...
2021-09-30 01:04:41
464
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人