kob

中心化作业调度系统
授权协议 Apache
开发语言 Java
所属分类 程序开发、 作业/任务调度
软件类型 开源软件
地区 国产
投 递 者 白学
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

kob 是中心化的作业调度系统,定义了任务调度模型,实现了任务调度的统一管理和监控。

主要特点

  1. 客户端任务动态注册发现
  2. 任务动态配置成作业
  3. 任务执行负载均衡策略

前置依赖

1. Mysql
2. Zookeeper
3. Java
4. Maven

代码模块简介

1. kob-server-console 作业管理平台。
2. kob-server-core 作业管理底层代码实现模块,以jar包引入方式被kob-server-console、kob-server-processor依赖。
3. kob-server-processor 作业调度执行器。
4. kob-basic 服务端( kob-server-* )、客户端( kob-client-* )公用jar包。
5. kob-client-demo-spring-boot 客户端springboot的一种接入形式。
6. kob-client-parent 作业调度客户端项目依赖jar包。
     kob-client-spring 客户端spring项目依赖jar,会被kob-client-spring-boot-starter依赖。
     kob-client-spring-boot-starter 客户端spring-boot项目依赖jar。
7. table.sql 以集群名称是incubating,生成的sql文件

快速开始

Maven install

mvn clean install -DskipTests

pom依赖

<dependency>
  <groupId>com.ke</groupId>
  <artifactId>kob-client-spring-boot-starter</artifactId>
</dependency>
  • 要在目录/sys/下创建一个目录,就需要向内核注册一个kobject结构。 该结构就是该目录的一个载体。而该结构的属性由struct kobj_type来保存。 注册kojbect的方法为: /*初始化 kobject结构*/ void kobject_init(struct kobject * kobj); /*将kobject对象注册到linux系统*/ Int kobject_add(str

 相关资料
  • 到目前为止,我们根据它们的到达时间(在FCFS调度中)调度这些进程。 但是,SJF调度算法根据其突发时间安排进程。 在SJF调度中,就绪队列中可用进程列表中的突发时间最短的进程将在下一个进行调度。 然而,预测一个过程所需的突发时间是非常困难的,因此这个算法在系统中很难实现。 SJF的优势 最大吞吐量 最低的平均等候时间和周转时间 SJF的缺点 可能会面临饥饿问题 这是不可实现的,因为一个进程的确切

  • AUTOMATING TASKS WITH JOB SCHEDULING 像任何使用 Linux 的人一样,黑客经常有他们想要定期运行的任务、脚本或其他任务。例如,你可能希望为你的系统设置一个自动文件备份, 或者你希望像我们在第 11 章做的那样转存日志文件。另一方面,黑客可能希望每天晚上或者在他们工作或上学的时候让他们的系统运行第 8 章里的 MySQLscanner.sh 脚本。这些都是调度自

  • 我是hadoop新手,我写了一些作业并将它们导出为jar文件。我可以使用hadoop jar命令运行它们,我想每一小时运行一次这些作业。我该怎么做?提前谢谢。

  • 主要内容:以下是纠正/补充内容:先来先服务(FCFS)调度算法根据其到达时间简单地调度作业。 就绪队列中第一个工作将首先获得CPU。 工作到达时间越少,工作得到的CPU就越快。 如果第一个进程的突发时间是所有作业中最长的,则FCFS调度可能会导致饥饿问题。 FCFS的优势 简单 容易 先到先得 FCFS的缺点 调度方法是非抢先式的,该进程将运行到完成。 由于算法的非抢先性,可能会出现饥饿问题。 尽管实现起来很容易,但由于平均等待

  • 主要内容:进程控制块中保存了什么?,为什么需要调度?在像MS DOS这样的单编程系统中,当进程等待任何I/O操作完成时,CPU仍然是空闲的。 这是一个开销,因为它浪费时间并导致饥饿问题。 但是,在多程序系统中,CPU在进程的等待时间内不会保持空闲状态,而是开始执行其他进程。 操作系统必须定义CPU将被给予哪个进程。 在多程序系统中,操作系统调度CPU上的进程以获得最大的利用率,此过程称为CPU调度。 操作系统使用各种调度算法来调度过程。 这是短期调

  • 现在我需要实现作业队列,因为有些作业不能并行启动。问题是某些作业的状态()是从客户机传递的,为了排队的目的,应该保持这些状态。另一方面,我不能根据用户请求调度作业,因为我不知道什么时候应该执行它!(应该在上一个作业之后立即执行)