当前位置: 首页 > 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…...

智慧医疗能源事业线深度画像分析(上)

引言 医疗行业作为现代社会的关键基础设施,其能源消耗与环境影响正日益受到关注。随着全球"双碳"目标的推进和可持续发展理念的深入,智慧医疗能源事业线应运而生,致力于通过创新技术与管理方案,重构医疗领域的能源使用模式。这一事业线融合了能源管理、可持续发…...

基于距离变化能量开销动态调整的WSN低功耗拓扑控制开销算法matlab仿真

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.算法仿真参数 5.算法理论概述 6.参考文献 7.完整程序 1.程序功能描述 通过动态调整节点通信的能量开销&#xff0c;平衡网络负载&#xff0c;延长WSN生命周期。具体通过建立基于距离的能量消耗模型&am…...

以下是对华为 HarmonyOS NETX 5属性动画(ArkTS)文档的结构化整理,通过层级标题、表格和代码块提升可读性:

一、属性动画概述NETX 作用&#xff1a;实现组件通用属性的渐变过渡效果&#xff0c;提升用户体验。支持属性&#xff1a;width、height、backgroundColor、opacity、scale、rotate、translate等。注意事项&#xff1a; 布局类属性&#xff08;如宽高&#xff09;变化时&#…...

vscode(仍待补充)

写于2025 6.9 主包将加入vscode这个更权威的圈子 vscode的基本使用 侧边栏 vscode还能连接ssh&#xff1f; debug时使用的launch文件 1.task.json {"tasks": [{"type": "cppbuild","label": "C/C: gcc.exe 生成活动文件"…...

解决Ubuntu22.04 VMware失败的问题 ubuntu入门之二十八

现象1 打开VMware失败 Ubuntu升级之后打开VMware上报需要安装vmmon和vmnet&#xff0c;点击确认后如下提示 最终上报fail 解决方法 内核升级导致&#xff0c;需要在新内核下重新下载编译安装 查看版本 $ vmware -v VMware Workstation 17.5.1 build-23298084$ lsb_release…...

最新SpringBoot+SpringCloud+Nacos微服务框架分享

文章目录 前言一、服务规划二、架构核心1.cloud的pom2.gateway的异常handler3.gateway的filter4、admin的pom5、admin的登录核心 三、code-helper分享总结 前言 最近有个活蛮赶的&#xff0c;根据Excel列的需求预估的工时直接打骨折&#xff0c;不要问我为什么&#xff0c;主要…...

Java多线程实现之Callable接口深度解析

Java多线程实现之Callable接口深度解析 一、Callable接口概述1.1 接口定义1.2 与Runnable接口的对比1.3 Future接口与FutureTask类 二、Callable接口的基本使用方法2.1 传统方式实现Callable接口2.2 使用Lambda表达式简化Callable实现2.3 使用FutureTask类执行Callable任务 三、…...

华为OD机试-食堂供餐-二分法

import java.util.Arrays; import java.util.Scanner;public class DemoTest3 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseint a in.nextIn…...

ServerTrust 并非唯一

NSURLAuthenticationMethodServerTrust 只是 authenticationMethod 的冰山一角 要理解 NSURLAuthenticationMethodServerTrust, 首先要明白它只是 authenticationMethod 的选项之一, 并非唯一 1 先厘清概念 点说明authenticationMethodURLAuthenticationChallenge.protectionS…...

css3笔记 (1) 自用

outline: none 用于移除元素获得焦点时默认的轮廓线 broder:0 用于移除边框 font-size&#xff1a;0 用于设置字体不显示 list-style: none 消除<li> 标签默认样式 margin: xx auto 版心居中 width:100% 通栏 vertical-align 作用于行内元素 / 表格单元格&#xff…...