阿里集群数据集cluster-trace-v2018的下载与介绍

简介

Alibaba Cluster Data V2018 包含 6 个文件,压缩后大小近 50GB(压缩前 270+GB),里面包含了 4000 台服务器、相应的在线应用容器和离线计算任务长达 8 天的运行情况。

以下是表的简要介绍:

  • machine_meta.csv:机器的元信息和事件信息。
  • machine_usage.csv:每台机器的资源使用情况。
  • container_meta.csv:容器的元信息和事件信息。
  • container_usage.csv:每个容器的资源使用情况。
  • batch_instance.csv:有关批处理工作负载中实例的信息。
  • batch_task.csv:有关批处理工作负载中实例的信息。请注意,task_name字段中描述了每个作业任务的DAG信息。

通过这份数据,你可以:

  1. 了解当代先进数据中心的服务器以及任务运行特点;
  2. 试验你的调度、运筹等各种任务管理和集群优化方面的各种算法并撰写论文;
  3. 利用这份数据学习如何进行数据分析,揭示更多我们自己都未曾发现的规律。

1.下载

数据下载地址:https://github.com/alibaba/clusterdata/tree/v2018/cluster-trace-v2018

在上面的github网站中我们可以得到一下文件:

Windows系统下载具体的某一个文件使用一下链接:

http://aliopentrace.oss-cn-beijing.aliyuncs.com/v2018Traces/machine_meta.tar.gz

http://aliopentrace.oss-cn-beijing.aliyuncs.com/v2018Traces/machine_usage.tar.gz

http://aliopentrace.oss-cn-beijing.aliyuncs.com/v2018Traces/container_meta.tar.gz

http://aliopentrace.oss-cn-beijing.aliyuncs.com/v2018Traces/container_usage.tar.gz

http://aliopentrace.oss-cn-beijing.aliyuncs.com/v2018Traces/batch_task.tar.gz

http://aliopentrace.oss-cn-beijing.aliyuncs.com/v2018Traces/batch_instance.tar.gz

表名文件大小
machine_usage.tar.gz1.7G
machine_meta.tar.gz92K
container_usage.tar.gz28G
container_meta.tar.gz2.4M
batch_task.tar.gz125M
batch_instance.tar.gz20G

linux系统和macos系统可以直接运行cluster-trace-v2018文件夹里的这个fetchData.sh文件下载相应文件:

fetchData.sh:

#!/bin/bash  
  
url='http://aliopentrace.oss-cn-beijing.aliyuncs.com/v2018Traces'

mkdir data
cd data

wget -c --retry-connrefused --tries=0 --timeout=50 ${url}/machine_meta.tar.gz
wget -c --retry-connrefused --tries=0 --timeout=50  ${url}/machine_usage.tar.gz
wget -c --retry-connrefused --tries=0 --timeout=50  ${url}/container_meta.tar.gz
wget -c --retry-connrefused --tries=0 --timeout=50  ${url}/container_usage.tar.gz
wget -c --retry-connrefused --tries=0 --timeout=50  ${url}/batch_task.tar.gz
wget -c --retry-connrefused --tries=0 --timeout=50  ${url}/batch_instance.tar.gz

2.表的解释

cluster-trace-v2018文件夹里的schema.txt文件有详细的解释每个表的字段

 machine_meta.csv

列名类型解释说明
machine_idstring机器的唯一ID(uid)
time_stampbigint时间指数0表示时间戳在8天时间跨度之前或之后
failure_domain_1string第一级故障域我们有多个级别的故障域,其中两个在此版本的跟踪中提供。对于任何需要容错的应用程序,它们的实例应分布在许多故障域中
failure_domain_2string第二级故障域与failure_domain_1类似,这只是另一个级别的故障域
cpu_numbigint一台机器的cpu数单位是“核心”,例如4表示机器上有4个核心
mem_sizebigint机器的内存大小规范化为所有机器的最大内存大小
statusstring给定time_stamp的机器状态机器的状态

 machine_usage.csv

列名类型解释说明
machine_idstring 机器的唯一ID(uid)
time_stampdouble时间戳0表示时间戳在8天时间跨度之前或之后
cpu_util_percentbigintcpu利用率用户和系统都包括在[0,100]之间。有一些无效值,它们设置为-1或101
mem_util_percentbigint内存利用率[0,100]。有一些无效值,它们设置为-1或101
mem_gpsdouble内存带宽使用率使用所有机器标准化为最大内存带宽
mpkibigint每千条指令缓存未命中
net_indouble传入网络包的数量标准化为此列的最大值
net_outdouble传出网络包的数量标准化为此列的最大值
disk_usage_percentdouble磁盘空间利用率[0,100]。有一些无效值,它们设置为-1或101
disk_io_percentdouble磁盘io利用率百分比[0,100]。有一些无效值,它们设置为-1或101

container_meta.csv

列名类型解释说明
container_idstring 容器的唯一ID(uid)
machine_idstring 容器主机的机器uid
deploy_unitstring 部署容器组属于同一部署单元的容器提供一种服务,通常,它们应分布在故障域中
time_stampbigint时间戳0表示时间戳在8天时间跨度之前或之后
cpu_requestbigint计划的cpushare请求100表示​​1核心
cpu_limitbigint计划的cpushare请求100表示​​1核心
mem_sizebigint计划的内存大小规范化为所有机器的最大内存大小
statusstring 给定time_stamp下容器的状态给定时间戳的容器状态,有关详细信息,请参阅状态机

container_usage.csv

列名类型解释说明
container_idstring 容器的唯一ID(uid)
machine_idstring 容器运行的机器uid
 time_stampbigint时间戳0表示时间戳在8天时间跨度之前或之后
cpu_util_percentbigintcpu利用率[0,100]。有一些无效值,它们设置为-1或101
mpkibigint每千条指令缓存未命中
CPIdouble给定time_stamp处的容器的cpi
mem_util_percentbigint内存利用率[0,100]。有一些无效值,它们设置为-1或101
mem_gpsdouble内存带宽使用率使用所有机器标准化为最大内存带宽
disk_usage_percentdouble磁盘空间利用率[0,100]。有一些无效值,它们设置为-1或101
disk_io_percentdouble磁盘io利用率百分比[0,100]。有一些无效值,它们设置为-1或101
net_indouble传入网络包的数量规范化为所有机器的最大net_in
net_outdouble传出网络包的数量规范化为所有机器的最大net_out

batch_instance.csv

列名类型说明评论
instance_namestring 批处理实例的唯一ID(uid)实例名称在(作业,任务)对中是唯一的
task_namestring 实例所属的任务名称任务名称在工作中是唯一的; note任务名称表示DAG信息,请参阅批处理工作负载的说明
task_type string 任务的类型共有12种类型,其中只有一些具有DAG信息
job_name string 实例所属任务的job_name工作由许多任务组成。请参阅job-task-instance的说明
statusstring 实例的状态实例的状态
start_time bigint 实例的开始时间0表示时间戳在8天时间跨度之前或之后
end_timebigint 实例的结束时间0表示时间戳在8天时间跨度之前或之后
 machine_id  string实例运行的计算机ID
seq_nobigint seq没有实例
total_seq_nobigint 一个实例的总seq否
cpu_avgdouble实例的cpu的平均cpu利用率100表示​​1核心
cpu_maxdouble一个实例的cpu的最大cpu利用率100表示​​1核心
mem_avgdouble实例的cpu的平均内存利用率规范化为所有机器的最大内存大小
mem_maxdouble实例的cpu的最大内存利用率规范化为所有机器的最大内存大小

batch_task.csv

列名类型说明评论
task_namestring实例所属的任务名称注意任务名称表示DAG信息,
 instance_numbigint任务具有的实例数
job_namestring 任务的job_name
task_type string 任务的类型
status string 实例的状态任务的状态
 start_time bigint实例的开始时间0表示时间戳在8天时间跨度之前或之后
end_timebigint实例的结束时间0表示时间戳在8天时间跨度之前或之后
plan_cpu doublecpu为每个任务实例请求100表示​​1核心
plan_mem  double为每个任务实例请求的规范化内存规范化为所有机器的最大内存大小

3.关于batch_task.csvbatch_instance.csv和中的DAG数据

在此版本的群集数据中,我们包含许多类型的批量wokrload。他们中的大多数是DAG,依赖任务,而其中一些不是。对于那些不是DAG的任务,我们使用随机字符命名它们,例如task_Nzg3ODAwNDgzMTAwNTc2NTQ2Mw==task_Nzg3ODAwNDgzMTAwODc2NTQ3MQ==。这些任务可以视为独立任务。

可以使用“作业 - 任务 - 实例”模型来描述完整的批处理计算作业。我们将描述每个术语的含义以及如何在跟踪中表达DAG信息。

作业通常由若干任务组成,其依赖性由DAG(有向无环图)表示。每个任务都有许多实例,并且只有当任务的所有实例都完成后才能将任务视为“已完成”,即如果任务2依赖于任务1,则任务2的任何实例都无法启动在任务1的所有实例完成之前。作业中的任务DAG可以从task_name该作业的所有任务的字段中推断出来,并通过以下示例进行说明。

Job-A的DAG如下图所示。

Job-A由5个具有一些依赖性的任务组成。5个任务的DAG用它们表示task_name。对于每项任务:

  • task1task_nameM1:意味着task1是一个独立的任务,可以在不等待任何其他任务开始。
  • M2_1:意味着task2取决于完成task1
  • M3_1:意味着task3取决于完成task1
  • R4_2:意味着task4取决于完成task2
  • M5_3_4:意味着task5依赖于两个task3task4,也就是说,task5既可以的所有实例之前不会启动task3task4完成。

请注意,对于DAG信息,只有task_name中的数字值很重要,而第一个字符(例如MR在示例中)与依赖关系无关。

每个任务的实例数用另一个字段表示instance_num

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值