当前位置: 首页 > news >正文

大数据CloudSim应用实践:基于CloudSimExamle6.java修改(超详细教程)

文章目录

  • 大数据CloudSim应用实践:基于CloudSimExamle6.java修改(超详细教程)
    • 1 准备
      • 1.1 操作系统
      • 1.2 软件
    • 2 安装JDK
      • 2.1 安装JDK
    • 3 配置Eclipse集成开发环境
      • 3.1 启动Eclipse
      • 3.2 配置Java运行时环境JRE
    • 4 创建Java项目
      • 4.1 创建项目
      • 4.2 导入jar包
        • 4.2.1 导入CloudSim开发包
            • 4.2.1.1.1 解压CloudSim开发包
            • 4.2.1.1.2 导入CloudSim开发包
        • 4.2.2 导入math库
            • 4.2.2.1.1 解压math库
            • 4.2.2.1.2 导入math库
      • 4.3 运行测试程序
        • 4.3.1 导入测试程序代码
        • 4.3.2 修改错误
        • 4.3.3 运行
    • 5 数据中心仿真实例
      • 5.1 导入实例代码
      • 5.2 运行
      • 5.3 比较代码
      • 结语

大数据CloudSim应用实践:基于CloudSimExamle6.java修改(超详细教程)

1 准备

1.1 操作系统

本实验在Windows 7 或Windows 10系统运行均可。

1.2 软件

cloudsim-3.0.3.zip;

commons-math3-3.2-bin.zip;

jdk-8u152-windows-x64.exe;

eclipse-jee-neon-3-win32-x86_64

我整理的关于CloudSim所用软件已上传网盘,需要自取:
链接:https://pan.baidu.com/s/1vWLtY803pqN5hz4NlDG2FA?pwd=8888
提取码:8888
在这里插入图片描述

2 安装JDK

2.1 安装JDK

不会安装JDK配置环境的可以看我之前整理的博客,一步步按照教程里面来就行:

JDK的环境配置(超级详细教程)_jdk环境配置-CSDN博客

3 配置Eclipse集成开发环境

3.1 启动Eclipse

运行…\eclipse-jee-neon-3-win32-x86_64\eclipse目录下的eclipse.exe可执行文件。

注意:首次运行eclipse会提示选择WorkSpace,及工作目录,用于存放项目文件,根据自己情况选择一个文件夹即可。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

3.2 配置Java运行时环境JRE

在上一步打开的Eclipse集成开发环境窗口中,点击菜单“Window”à“Preferences”菜单项:

在这里插入图片描述

打开“Preferences”对话框:

在这里插入图片描述

在这里插入图片描述

Java安装路径:C:Program FilesJavajdk1.8.0_301

在“Preferences”窗口中点击“Java”左侧箭头,再点击其下方弹出的“Installed JREs”的左侧箭头(下面这幅图可能跟你们不一样,因为我当前这一步已经设置过,故“Installed JRE”中会有内容,你们的应该是没有内容):

在这里插入图片描述

在这里插入图片描述

点击右侧窗口中的“Add”按钮,打开“Add JRE”窗口。

在这里插入图片描述

选择“Standard VM”项,点击下方“Next”按钮,在接下来的对话框中点击“Directory”按钮:

在这里插入图片描述

在弹出的“浏览文件夹”对话框中选择Java运行时环境所在的路径C:Program FilesJavajre1.8.0_152(视自己JDK具体安装路径而定):

在这里插入图片描述

在这里插入图片描述

点击“确定”按钮返回。

在这里插入图片描述

4 创建Java项目

4.1 创建项目

在Eclipse集成开发窗口中,单击“File”à“New”à“Java Project”,新建Java项目,命名为“CloudSim”:

在这里插入图片描述

一直点击“Next”或“Finish”按钮即可。

81)

4.2 导入jar包

4.2.1 导入CloudSim开发包
4.2.1.1.1 解压CloudSim开发包

需要使用的CloudSim API在cloudsim-3.0.3.jar包中,该jar包可通过解压cloudsim-3.0.3.zip得到,位于解压后的…cloudsim-3.0.3jars文件夹下。

在这里插入图片描述

4.2.1.1.2 导入CloudSim开发包

在Eclipse中,在左侧树状结构中,右键单击“CloudSim”项目,选择“Build Path”à“Add External Archive”,导入cloudsim-3.0.3.jar。

在这里插入图片描述

4.2.2 导入math库
4.2.2.1.1 解压math库

因本项目中用到了math里面的类,需要引入commons-math3-3.2.jar这个库。此库通过解压commons-math3-3.2-bin.zip文件可以得到。

在这里插入图片描述

在这里插入图片描述

4.2.2.1.2 导入math库

在Eclipse中,右键单击“CloudSim”项目,选择“Build Path”à“Add External Archive”,导入commons-math3-3.2.jar。
在这里插入图片描述
在这里插入图片描述

4.3 运行测试程序

4.3.1 导入测试程序代码

CloudSim提供的实例程序放在CloudSimcloudsim-3.0.3examplesorgcloudbuscloudsimexamples目录下。

在这里插入图片描述

在这里插入图片描述

在以上examples文件夹中复制CloudSimExample6.java文件,在Eclipse中的“Package Explorer”树形结构中,展开“CloudSim” à“src”,右键点击“src”文件夹,在弹出的上下文菜单中选择“Paste”菜单,将CloudSimExample6.java复制到工程中。

在这里插入图片描述

在这里插入图片描述

4.3.2 修改错误

复制后CloudSimExample6.java文件显示效果及位置如下:

在这里插入图片描述

在这里插入图片描述

可以看出其位于“default package”默认包中。但注意上图中CloudSimExample6.java文件前面的图标左下角有个红色的“×”符号,意思是CloudSimExample6.java代码中有错误。接下来排除错误。

在Eclipse中双击CloudSimExample6.java文件,在右侧编辑窗口中打开它。

在这里插入图片描述

可以看到这条语句package org.cloudbus.cloudsim.examples;中有红色波浪下划线,表明有语法问题。鼠标放到该语句上,显示:

在这里插入图片描述

点击2行蓝色文字中的第一行,“Move ‘CloudSimExample6.java to package org.cloudbus.cloudsim.examples’”,表示将CloudSimExample6.java文件放到Eclipse窗口左面的树形结构的org.cloudbus.cloudsim.examples包中。这样代码中原先带红色波浪线的语句就与实际的包(代码的存放位置)相符,其错误得到了修改。修改之后的效果如下:

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

导入包之后发现错误已经解决:

没有报错

在这里插入图片描述

包的存放文件夹与包的对应关系(此图仅为帮助理解):
在这里插入图片描述

4.3.3 运行

保证右侧编辑区当前活动(当前正在编辑状态)的窗口为CloudSimExample6.java。

点击工具栏上的绿色三角形按钮àRun AsàJava Application Alt+Shift+X,J,运行程序,如图:

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

5 数据中心仿真实例

5.1 导入实例代码

1.将我随本Word文档打包的CloudSimExampleA.java代码导入项目,具体步骤同4.3.1,不同的是由原来导入CloudSimExample6.java文件,改为现在导入CloudSimExampleA.java文件。

2.遵照4.3.2步骤将CloudSimExampleA放到org.cloudbus.cloudsim.examples包中,如下图。

在这里插入图片描述

在这里插入图片描述

5.2 运行

步骤同4.3.3,不同的是现在需要将CloudSimExampleA.java在右侧编辑区打开并处于活动状态(当前正在编辑状态)。

先右键Delete删除之前的CloudSimExample6.java.然后在Eclipse中的“Package Explorer”树形结构中,展开“CloudSim” à“src”,右键点击“src”文件夹,在弹出的上下文菜单中选择“Paste”菜单,将CloudSimExampleA.java复制到工程中。

在这里插入图片描述

点击工具栏上的绿色三角形按钮àRun AsàJava Application Alt+Shift+X,J,运行程序,如图:

在这里插入图片描述

CloudSimExampleA.java运行结果:

在这里插入图片描述

5.3 比较代码

可以查看CloudSimExampleA.java代码,是在CloudSimExample6.java的基础上根据教材的“11.3.2数据中心仿真实例”修改来的,具体修改的地方在CloudSimExampleA.java代码中都以“//”开始注释说明,可以跟CloudSimExample6.java比较异同,发现CloudSim的API使用规律。

关于CloudSimExampleA.java代码文件我已经上传到网盘了,需要可以自取
链接:https://pan.baidu.com/s/1MM9mAAd_aP0XJnpWZU-X0g?pwd=6666
提取码:6666

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

关于CloudSim的API使用规律,具体包括以下几点:

  1. 建立仿真环境:在使用CloudSim API之前,需要先建立一个仿真环境。使用CloudSim simulation = new CloudSim();代码来创建一个仿真器。

  2. 创建数据中心:在CloudSim中,数据中心是处理虚拟机请求的地方。使用Datacenter datacenter = createDatacenter("Datacenter_0");代码创建一个数据中心,并设置数据中心的特性,例如架构、处理器数量和存储容量等。

  3. 创建虚拟机:创建虚拟机时,指定虚拟机的类型、处理器数量、内存和存储容量等参数。使用Vm vm = createVm("Vm_0", 512, 1, 1000);代码创建一个虚拟机。

  4. 创建任务:在CloudSim中,任务被定义为需要在虚拟机上执行的工作单元。使用Cloudlet cloudlet = createCloudlet("Cloudlet_0", 1000, 1);代码创建一个任务,并设置任务的长度、输入输出文件等参数。

  5. 运行仿真器:在完成仿真环境的配置后,运行仿真器并开始模拟云计算环境。使用simulation.start();代码来运行仿真器。

  6. 获取仿真结果:当仿真结束后,可以获取各种云计算策略的性能指标。例如,通过List<Cloudlet> resultList = broker.getCloudletReceivedList();代码获取每个任务的完成时间。

在使用CloudSim进行仿真时,根据具体的需求和场景选择合适的模型和参数,可以得到更准确的仿真结果。

结语

关注星川后续有时间精力会持续分享更多关于大数据领域方面的优质内容,感谢各位的喜欢与支持!

相关文章:

大数据CloudSim应用实践:基于CloudSimExamle6.java修改(超详细教程)

文章目录 大数据CloudSim应用实践&#xff1a;基于CloudSimExamle6.java修改&#xff08;超详细教程&#xff09;1 准备1.1 操作系统1.2 软件 2 安装JDK2.1 安装JDK 3 配置Eclipse集成开发环境3.1 启动Eclipse3.2 配置Java运行时环境JRE 4 创建Java项目4.1 创建项目4.2 导入jar…...

完美解决浏览器的输入框自动填入时,黄色背景问题,以及图标被遮住问题(最新)

用图说话↓↓↓ 首先用代码解决黄色背景问题&#xff0c;box-shadow颜色设置透明即可&#xff0c;延时渲染时间可修改为更久 :deep(input:-webkit-autofill) {box-shadow: 0 0 0 1000px transparent !important;/* 浏览器记住密码的底色的颜色 */-webkit-text-fill-color: #f…...

C 语言中的头文件

1、C 语言中 include <> 与include “” 的区别? #include < > 引用的是编译器的类库路径里面的头文件。 #include " " 引用的是你程序目录的相对路径中的头文件&#xff0c;如果在程序目录没有找到引用的头文件则到编译器的类库路径的目录下找该头文…...

数据结构复杂度

文章目录 一. 数据结构前言1.1 数据结构1.2 算法 二. 算法效率2.1 时间复杂度2.1.1 T(N)函数式2.1.2 大O的渐进表示法 2.2 空间复杂度2.3 常见复杂度比较 2.3 复杂度算法题1.2. 一. 数据结构前言 1.1 数据结构 什么是数据结构呢&#xff1f;打开一个人的主页&#xff0c;有很…...

MySQL基础篇

一、MySQL概述 MySQL是一个数据库管理系统&#xff0c;由瑞典MySQL AB公司开发&#xff0c;属于Oracle推出的产品。MySQL是最流行的关系型数据库管理系统之一&#xff0c;在WEB应用方面&#xff0c;MySQL是最好的RDBMS&#xff08;关系数据库管理系统&#xff09; &#xff0c…...

详解C++中的四种强制转换reinterpret_cast / const_cast / static_cast / dynamic_cast

目录 1.reinterpret_cast 2.const_cast 3.static_cast 4.dynamic_cast 例子 C中存在四种强制转换&#xff1a;reinterpret_cast / const_cast / static_cast / dynamic_cast 1.reinterpret_cast 格式 &#xff1a; reinterpret_cast<type_id> (expression) 用于类型…...

Word中加载Mathtype后粘贴复制快捷键(Ctrl+C/V)不能使用

操作环境 windows 11操作系统 word版本2021 mathtype版本7.4 这个问题只出现在word中&#xff0c;在excel和ppt中都不存在这个问题&#xff0c;而且之前在另一台电脑中使用word2016版本并没有这种问题的&#xff0c;然后网上搜了一下有不少人有这种问题&#xff0c;word直接取…...

Linux硬件-bios

作者介绍&#xff1a;简历上没有一个精通的运维工程师。希望大家多多关注作者&#xff0c;下面的思维导图也是预计更新的内容和当前进度(不定时更新)。 在Linux的服务器领域&#xff0c;我们能接触的到硬件其实挺多的&#xff0c;但是在这些硬件我们根据我们的需要去使用的时候…...

VisionPro二次开发学习笔记12-使用CogToolGroup控件进行图像检测

本示例演示了如何通过图像数据库使用 CogImageFileTool&#xff0c;并将其放入 CogToolGroup 中&#xff0c;对于数据库中的每个图像运行一次检测. 当用户按下 RunTest 按钮时&#xff0c;程序执行以下操作&#xff1a; 如果工具组中没有 CogImageFileTools&#xff0c;它将显…...

mfc140u.dll丢失的科学修复手段,简单又方便的mfc140u.dll修复

遇到 "缺失 mfc140u.dll 文件" 的提示时可能会让你疑惑&#xff0c;但不用担心。这个文件是 Microsoft Visual C 2015 的重要组成部分&#xff0c;对运行特定程序非常关键。幸运的是&#xff0c;解决这一问题并不难。本文将简单指导你如何恢复或修复丢失的 mfc140u.d…...

RabbitMQ、Kafka对比(超详细),Kafka、RabbitMQ、RocketMQ的区别

文章目录 一、kafka和rabbitmq全面对比分析1.1 简介1.2 kafka和rabbitmq全面对比分析1.3 影响因素 二、RabbitMQ、Kafka主要区别2.1 详解/主要区别2.1.1 设计目标和适用场景2.1.2 架构模型方面2.1.3 吞吐量和性能2.1.4 消息存储和持久化2.1.5 消息传递保证2.1.6 集群负载均衡方…...

【案例35】销售订单公式问题导致系统宕机

问题现象 经过顾问反馈&#xff0c;发现系统现在出现卡顿&#xff0c;NCC一直在转圈。 问题分析 远程排查&#xff0c;发现在服务器从机上defalut-7发生了内存溢出&#xff0c;宕机。 生成了宕机日志。分析结果如下&#xff1a; 销售订单相关操作&#xff0c;vo太多了导致…...

编程-设计模式 4:建造者模式

设计模式 4&#xff1a;建造者模式 定义与目的 定义&#xff1a;建造者模式将一个复杂对象的构建与其表示分离&#xff0c;使得同样的构建过程可以创建不同的表示。目的&#xff1a;该模式主要用于创建复杂对象时&#xff0c;这些对象的创建过程可能涉及多个步骤&#xff0c;…...

百度文心一言API调用,千帆大模型获取API Key和API Secret图解

百度文心一言大模型调用教程&#xff0c;获取文心一言API Key和API Secret的方法&#xff0c;码笔记mabiji.com告诉大家在百度智能云的千帆大模型平台创建应用&#xff0c;即可获取文心一言的API Key和API Secret&#xff0c;详细流程如下&#xff1a; 1、在百度智能云的千帆大…...

kafka下载|安装

1、下载kafka https://kafka.apache.org/downloads 2、安装kafka 解压下载的kafka安装包即可 tar -xvf kafka_2.13-3.7.0.tgz -C /usr/local/3、查看kafka目录 bin目录&#xff1a;存放了脚本 config目录&#xff1a;主要存放了配置文件...

贪心算法part03

134 加油站 在一条环路上有 N 个加油站&#xff0c;其中第 i 个加油站有汽油 gas[i] 升。 你有一辆油箱容量无限的的汽车&#xff0c;从第 i 个加油站开往第 i1 个加油站需要消耗汽油 cost[i] 升。你从其中的一个加油站出发&#xff0c;开始时油箱为空。 如果你可以绕环路行…...

以树莓集团的视角:探索AI技术如何重塑数字媒体产业发展

在科技日新月异的今天&#xff0c;AI技术如同一股不可阻挡的潮流&#xff0c;正深刻改变着我们的世界&#xff0c;尤其是数字媒体产业发展。作为数字产业生态链的杰出建设者&#xff0c;树莓集团始终站在时代前沿&#xff0c;积极探索AI技术如何为数字媒体产业注入新活力。 在树…...

package.json的 和 的区别,以及|| 和 | 的区别

在 package.json 文件中的 scripts 字段里&#xff0c;&& 和 & 用于连接不同的命令&#xff0c;它们的区别在于命令执行的方式和效果&#xff1a; &&&#xff1a; 用于串联两个命令&#xff0c;第一个命令成功&#xff08;退出码为 0&#xff09;后&#x…...

Wireshark_DNS_v7.0

Wireshark_DNS_v7.0 一、 nslookup 前置 nslookup 是一个网络命令行工具&#xff0c;用于查询域名系统&#xff08;DNS&#xff09;中的域名解析记录。通过使用 nslookup&#xff0c;你可以获取某个域名的IP地址&#xff0c;或者获取与某个IP地址关联的域名信息。 查看域名…...

阿里云的CentOS系统上安装Docker

在阿里云的CentOS系统上安装Docker的详细步骤如下&#xff1a; 一、前置条件 确保系统内核版本&#xff1a;Docker要求CentOS系统的内核版本高于3.10。你可以通过执行uname -r命令来查看当前系统的内核版本。卸载旧版本的Docker&#xff08;如果已安装&#xff09;&#xff1…...

OpenLayers 可视化之热力图

注&#xff1a;当前使用的是 ol 5.3.0 版本&#xff0c;天地图使用的key请到天地图官网申请&#xff0c;并替换为自己的key 热力图&#xff08;Heatmap&#xff09;又叫热点图&#xff0c;是一种通过特殊高亮显示事物密度分布、变化趋势的数据可视化技术。采用颜色的深浅来显示…...

云原生核心技术 (7/12): K8s 核心概念白话解读(上):Pod 和 Deployment 究竟是什么?

大家好&#xff0c;欢迎来到《云原生核心技术》系列的第七篇&#xff01; 在上一篇&#xff0c;我们成功地使用 Minikube 或 kind 在自己的电脑上搭建起了一个迷你但功能完备的 Kubernetes 集群。现在&#xff0c;我们就像一个拥有了一块崭新数字土地的农场主&#xff0c;是时…...

java_网络服务相关_gateway_nacos_feign区别联系

1. spring-cloud-starter-gateway 作用&#xff1a;作为微服务架构的网关&#xff0c;统一入口&#xff0c;处理所有外部请求。 核心能力&#xff1a; 路由转发&#xff08;基于路径、服务名等&#xff09;过滤器&#xff08;鉴权、限流、日志、Header 处理&#xff09;支持负…...

Spark 之 入门讲解详细版(1)

1、简介 1.1 Spark简介 Spark是加州大学伯克利分校AMP实验室&#xff08;Algorithms, Machines, and People Lab&#xff09;开发通用内存并行计算框架。Spark在2013年6月进入Apache成为孵化项目&#xff0c;8个月后成为Apache顶级项目&#xff0c;速度之快足见过人之处&…...

visual studio 2022更改主题为深色

visual studio 2022更改主题为深色 点击visual studio 上方的 工具-> 选项 在选项窗口中&#xff0c;选择 环境 -> 常规 &#xff0c;将其中的颜色主题改成深色 点击确定&#xff0c;更改完成...

[ICLR 2022]How Much Can CLIP Benefit Vision-and-Language Tasks?

论文网址&#xff1a;pdf 英文是纯手打的&#xff01;论文原文的summarizing and paraphrasing。可能会出现难以避免的拼写错误和语法错误&#xff0c;若有发现欢迎评论指正&#xff01;文章偏向于笔记&#xff0c;谨慎食用 目录 1. 心得 2. 论文逐段精读 2.1. Abstract 2…...

MVC 数据库

MVC 数据库 引言 在软件开发领域,Model-View-Controller(MVC)是一种流行的软件架构模式,它将应用程序分为三个核心组件:模型(Model)、视图(View)和控制器(Controller)。这种模式有助于提高代码的可维护性和可扩展性。本文将深入探讨MVC架构与数据库之间的关系,以…...

Module Federation 和 Native Federation 的比较

前言 Module Federation 是 Webpack 5 引入的微前端架构方案&#xff0c;允许不同独立构建的应用在运行时动态共享模块。 Native Federation 是 Angular 官方基于 Module Federation 理念实现的专为 Angular 优化的微前端方案。 概念解析 Module Federation (模块联邦) Modul…...

WordPress插件:AI多语言写作与智能配图、免费AI模型、SEO文章生成

厌倦手动写WordPress文章&#xff1f;AI自动生成&#xff0c;效率提升10倍&#xff01; 支持多语言、自动配图、定时发布&#xff0c;让内容创作更轻松&#xff01; AI内容生成 → 不想每天写文章&#xff1f;AI一键生成高质量内容&#xff01;多语言支持 → 跨境电商必备&am…...

BCS 2025|百度副总裁陈洋:智能体在安全领域的应用实践

6月5日&#xff0c;2025全球数字经济大会数字安全主论坛暨北京网络安全大会在国家会议中心隆重开幕。百度副总裁陈洋受邀出席&#xff0c;并作《智能体在安全领域的应用实践》主题演讲&#xff0c;分享了在智能体在安全领域的突破性实践。他指出&#xff0c;百度通过将安全能力…...