原文地址:

https://www.twblogs.net/a/5c2dc304bd9eee35b21c418b/zh-cn

------------------------------------------------------------------------------------------------

本篇主要是解析数据集clusterdata-2011-2

by ——https://github.com/google/cluster-data

dataset的说明文档:https://drive.google.com/file/d/0B5g07T_gRDg9Z0lsSTEtTWtpOW8/view

数据集描述:The clusterdata-2011-2 trace represents 29 day's worth of cell information from May 2011, on a cluster of about 12.5k machines.

将csv文件导入到MySQL中的各表信息如下:(表结构在末尾)

job event表:

row1672923   286.86 MB (300,795,688)

index:jobid,btree 35.56 MB (37,285,888)

machine events表:

row:37780    2.99 MB (3,138,540)

machine attribute:

row:10748566    1.09 GB (1,175,642,124)

task constrains:

row:28485619    2.95 GB (3,163,127,240)

task usage:

row:1232799308    182.55 GB (196,015,089,972)

index:69.61 GB (74,743,799,808)

machineid(btree) jobid(btree)

task event:(导入数据有点问题,正在处理)

row:144648292 12.76 GB (13,700,652,148)

index: 6.90 GB (7,414,187,008)

machineid,jobid,username

explain part1:字段

explain part2:表格

part1.字段

一个job包含多个task,每一个task表示一个Linux项目,可能有多个进程。

timestamp:以微秒为单位,在日志开始前600s开始计时(如20s开始的时间为620s)

0时刻的记录代表在日志记录之前发生的事件,因为作业可能在日志记录之前被提交。

2的63次方-1的时间为日志记录结束之后的事件。

job和machine的ID不会被复用,可以当作唯一表识。(machineID重复可能是由于一个机器被移除集群后又重新加了进来,jobID重复可能是一个job被停止然后配置重新启动)

user和job的name被hash了,为了保密以及测试时相同。

machine event type:0.add 1.remove 2.update

job和task的event type:0.submit 1.schedule 2.evict 3.fail 4.kill 5.finish 6.lost 7.update_pending 8.update_running

priority:0为最低的

infrastructure (11)—this is the highest (most entitled to get resources) priority in the trace and accounts for most of the recorded disk I/O, so we speculate it includes some storage services;
monitoring (10)
normal production (9)—this is the lowest (and most occupied) of the priorities labeled ‘production’. The trace providers indicate that jobs at this priority and higher which are latency-sensitive should not be “evicted due to over-allocation of machine resources” .
other (2-8) — we speculate that these priorities are dominated by batch jobs; 
gratis (free) (0-1) — the trace providers indicate that resources used by tasks at these priorities are generally not charged.

missing info:正常数据为NULL,丢失数据为0-2.

0.SNAPSHOT_BUT_NO_TRANSITION:we did not find a record representing the given event, but a later snapshot of the job or task state indicated that the transition must have occurred. The timestamp of the synthesized event is the timestamp of the snapshot.

1.NO_SNAPSHOT_OR_TRANSITION : we did not find a record representing the given termination event, but the job or task disappeared from later snapshots of cluster states, so it must have been terminated. The timestamp of the synthesized
event is a pessimistic upper bound on its actual termination time assuming it could have legitimately been missing from one snapshot.
2.EXISTS_BUT_NO_CREATION : we did not find a record representing the creation of the given task or job. In this case, we may be missing metadata (job name, resource requests, etc.) about the job or task and we may have placed SCHEDULE or SUBMIT events latter than they actually are.

 
 
 

scheduleclass,该类粗略地表示作业的延迟敏感程度。调度类型由一个数字表示,3表示一个对延迟比较敏感的作业,0表示一个非生产任务(例如:非关键业务分析等)

comparison operator:??

怎么比的不明白。。。

小于(2),大于(3):将机器属性表示为整数(或0,如果属性不存在),然后将其与提供的属性值进行比较。这些比较严格小于和严格大于;等于(0),不等于(1):机器属性表示为字符串(或空字符串如果它不存在的话),然后比较所提供的属性值。(翻译文档)

part2:

table:

1.Machine events
Each machine is described by one or more records in the machine event table. The majority of records describe machines that existed at the start of the trace.
1. timestamp
2. machine ID
3. event type
4. platform ID
5. capacity: CPU
6. capacity: memory

2.job event&task event

The two event tables describe jobs/tasks and their lifecycles. The constraints table describes task placement constraints that restrict the machines onto which tasks can schedule.

The simplest case is shown by the top path in the diagram above: a job is SUBMITted and gets put into a pending queue; soon afterwards, it is SCHEDULEd onto a machine and starts running; some time later it FINISHes successfully.

先提交(0),然后进队(1),之后完成(4)

3.task usage

这篇博客详细解释了https://blog.csdn.net/yangss123/article/details/78298749

生成的中间表有

分别是各平台内包含的机器id,以及所有中等优先级的task(priority为2-8),以及所有成功进入队列的task(event type为1)的表,并建立相应的索引。(使用中间表后,检索时间由数小时级别下降到1min以内)

----------------------------------------------------------------------------------

【转载】 谷歌集群数据分析 clusterdata-2011-2的更多相关文章

  1. 【转载】 clusterdata-2011-2 谷歌集群数据分析(三)

    原文地址: https://blog.csdn.net/yangss123/article/details/78306270 由于原文声明其原创文章不得允许不可转载,故这里没有转载其正文内容. --- ...

  2. 【转载】 clusterdata-2011-2 谷歌集群数据分析(二)--task_usage

    原文地址: https://blog.csdn.net/yangss123/article/details/78298749 由于原文声明其原创文章不得允许不可转载,故这里没有转载其正文内容. --- ...

  3. 【转载】 clusterdata-2011-2 谷歌集群数据分析(一)

    原文地址: https://blog.csdn.net/yangss123/article/details/78298679 由于原文声明其原创文章不得允许不可转载,故这里没有转载其正文内容. --- ...

  4. 谷歌集群数据 clusterdata-2011-2 Cluster workload traces

    谷歌集群数据 clusterdata-2011-2 https://github.com/google/cluster-data/blob/master/ClusterData2011_2.md 链接 ...

  5. [转载] Redis集群搭建最佳实践

    转载自http://blog.csdn.net/sweetvvck/article/details/38315149?utm_source=tuicool 要搭建Redis集群,首先得考虑下面的几个问 ...

  6. 转载 Tomcat集群配置学习篇-----分布式应用

    Tomcat集群配置学习篇-----分布式应用 现目前基于javaWeb开发的应用系统已经比比皆是,尤其是电子商务网站,要想网站发展壮大,那么必然就得能够承受住庞大的网站访问量:大家知道如果服务器访问 ...

  7. window xp Apache与Tomcat集群配置--转载

    转载地址:http://www.cnblogs.com/obullxl/archive/2011/06/09/apache-tomcat-cluster-config.html 一. 环境说明 Win ...

  8. [转载] 一共81个,开源大数据处理工具汇总(下),包括日志收集系统/集群管理/RPC等

    原文: http://www.36dsj.com/archives/25042 接上一部分:一共81个,开源大数据处理工具汇总(上),第二部分主要收集整理的内容主要有日志收集系统.消息系统.分布式服务 ...

  9. 转载:【Oracle 集群】RAC知识图文详细教程(九)--RAC基本测试与使用

    文章导航 集群概念介绍(一) ORACLE集群概念和原理(二) RAC 工作原理和相关组件(三) 缓存融合技术(四) RAC 特殊问题和实战经验(五) ORACLE 11 G版本2 RAC在LINUX ...

随机推荐

  1. 使用React.Fragment替代render函数中div的包裹

    1.在 React 中,render 函数中 return 的内容只能有一个根节点,如果多个元素嵌套,需要用一个标签元素包裹 这个包裹的标签通常用 div,示例如下: class App extend ...

  2. 微信小程序~调试

    小程序调试面板 模拟器 模拟器模拟微信小程序在客户端真实的逻辑表现,对于绝大部分的 API 均能够在模拟器上呈现出正确的状态. 自定义编译 点击工具栏中的编译按钮或者使用快捷键 Ctrl(⌘) + B ...

  3. Spring -08 -自动注入 -byName/byType/constructor -全局使用default-autowire=” byName"

    1.在Spring 配置文件中对象名和ref=”id”id 名相同使用自动注入,可以不配置<property/>2.两种配置办法 2.1在<bean>中通过 autowire= ...

  4. python网络-HTTP协议(28)

    一.服务器和客户端介绍 1.什么是服务器? 简而言之:提供服务的机器就是服务器,至于提供什么服务不重要,重要的是要给其他人提供服务.例如:FTP服务器可以提供文件下载,SMTP服务器等等,不同的服务器 ...

  5. 使用navicat创建数据库

    1.  打开navicat 2.  选中数据库连接“root”右键->新建数据库 3. 填写数据库名称,注意名称不要以数字开头,不要有中文.空格.特殊字符等 4. 选择“字符集”,常用的为utf ...

  6. vscode常用快捷键总结

    记住快捷键能够提高工作效率 Ctrl+Shift+P,F1 展示全局命令面板 Ctrl+P 快速打开最近打开的文件 Ctrl+Shift+N 打开新的编辑器窗口 Ctrl+Shift+W 关闭编辑器 ...

  7. vue 博客知识点汇总

    1. vue修改url,页面不刷新 项目中经常会用到同一个页面,结构是相同的,我只是在vue-router中通过添加参数的方式来区分状态,参数可以在页面跳转时带上params,或者query,但是有一 ...

  8. 第122题:买卖股票的最佳时机II

    一. 问题描述 给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格. 设计一个算法来计算你所能获取的最大利润.你可以尽可能地完成更多的交易(多次买卖一支股票). 注意:你不能同时参与多笔交 ...

  9. go http编程

    http的请求包包含 请求行,请求头,空行,请求体go的http编程 http server.go package main import "net/http" func main ...

  10. Monitor 实现阻塞队列 + 生产消费者实例

    转载至 https://www.codeproject.com/Articles/28785/Thread-synchronization-Wait-and-Pulse-demystified /* ...