虚拟化平台cloudstack(7)——新版本的调试

调试环境

ubuntu 12.04

JDK1.7

apache-maven-3.10

eclipse 4.2 Juno

mysql 5

源码下载及调试

上面的几个软件在上一篇中已经介绍了。

在新的版本中,整个的编译和调试过程都是基于maven的,而且整个工程的结构也有所变化。

更新git:

sudo apt-get install git-core

安装maven,确认安装的是maven 3

sudo apt-get install maven

skyme@skyme-virtual-machine:~$ mvn -version
Apache Maven 3.1.0 (893ca28a1da9d5f51ac03827af98bb730128f9f2; 2013-06-28 10:15:32+0800)
Maven home: /home/skyme/java/apache-maven-3.1.0
Java version: 1.7.0_21, vendor: Oracle Corporation
Java home: /home/skyme/java/jdk1.7.0_21/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "3.5.0-37-generic", arch: "amd64", family: "unix"

安装配置java

安装mysql并且创建用户,用户名cloud,密码cloud

sudo apt-get install mysql-server-5.5
mysql -u root -p
输入密码
insert into mysql.user(Host,User,Password,ssl_cipher,x509_issuer,x509_sub
ject) values("localhost","cloud",password("cloud"),'','','');
grant all privileges on phplampDB.* to cloud@localhost identified by 'cloud';
flush privileges; 

安装tomcat6

sudo apt-get install tomcat6

构建步骤

下载源码:

git clone https://git-wip-us.apache.org/repos/asf/cloudstack.git

下载完成后,执行:

mvn clean install

构建完成后,进行测试:

mvn -P developer -pl developer -Ddeploydb

在这里面构建数据库的过程也改成了mvn的方式。

在执行测试的时候:

export MAVEN_OPTS="-XX:MaxPermSize=512M -Xdebug -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=n"

MaxPermSize的值在这里面设置为512M,因为有可能启动jetty的时候会报错

Exception in thread "main" java.lang.OutOfMemoryError: PermGen space。

然后启动jetty。

mvn -pl :cloud-client-ui jetty:run

d788942
INFO  [c.c.u.c.ComponentContext] (Timer-3:null) Starting com.cloud.network.guru.OvsGuestNetworkGuru_EnhancerByCloudStack_2230f61b
INFO  [c.c.u.c.ComponentContext] (Timer-3:null) Starting com.cloud.template.HypervisorTemplateAdapter_EnhancerByCloudStack_ab1a790f
INFO  [c.c.u.c.ComponentContext] (Timer-3:null) Starting com.cloud.network.guru.StorageNetworkGuru_EnhancerByCloudStack_8d4afb32
INFO  [c.c.u.c.ComponentContext] (Timer-3:null) Starting com.cloud.network.element.MidoNetElement_EnhancerByCloudStack_bbaedad
INFO  [c.c.u.c.ComponentContext] (Timer-3:null) Starting org.apache.cloudstack.storage.allocator.ClusterScopeStoragePoolAllocator_EnhancerByCloudStack_a26e7930
INFO  [c.c.u.c.ComponentContext] (Timer-3:null) Starting org.apache.cloudstack.storage.allocator.GarbageCollectingStoragePoolAllocator_EnhancerByCloudStack_3ecf09b5
INFO  [c.c.u.c.ComponentContext] (Timer-3:null) Starting org.apache.cloudstack.acl.StaticRoleBasedAPIAccessChecker_EnhancerByCloudStack_16619324
INFO  [c.c.u.c.ComponentContext] (Timer-3:null) Starting com.cloud.ha.KVMFencer_EnhancerByCloudStack_fa0503f3
INFO  [c.c.u.c.ComponentContext] (Timer-3:null) Starting com.cloud.network.element.VirtualRouterElement_EnhancerByCloudStack_9d6525ff
INFO  [c.c.u.c.ComponentContext] (Timer-3:null) Starting com.cloud.ha.XenServerFencer_EnhancerByCloudStack_bfe5e165
INFO  [c.c.u.c.ComponentContext] (Timer-3:null) Starting com.cloud.storage.secondary.SecondaryStorageVmDefaultAllocator_EnhancerByCloudStack_feb121d2
INFO  [c.c.u.c.ComponentContext] (Timer-3:null) Starting com.cloud.server.auth.MD5UserAuthenticator_EnhancerByCloudStack_1500f4a2
INFO  [c.c.u.c.ComponentContext] (Timer-3:null) Starting com.cloud.network.element.NiciraNvpElement_EnhancerByCloudStack_48e0bcdb
INFO  [c.c.u.c.ComponentContext] (Timer-3:null) Starting com.cloud.hypervisor.XenServerGuru_EnhancerByCloudStack_41a08dc3
INFO  [c.c.u.c.ComponentContext] (Timer-3:null) Starting com.cloud.ha.XenServerInvestigator_EnhancerByCloudStack_f77a7c2d
INFO  [c.c.u.c.ComponentContext] (Timer-3:null) Starting com.cloud.network.element.ElasticLoadBalancerElement_EnhancerByCloudStack_510d11fa
INFO  [c.c.u.c.ComponentContext] (Timer-3:null) Starting com.cloud.network.guru.NiciraNvpGuestNetworkGuru_EnhancerByCloudStack_9f279c07
INFO  [c.c.u.c.ComponentContext] (Timer-3:null) Starting com.cloud.baremetal.networkservice.BaremetalPxeElement_EnhancerByCloudStack_ec99bfab
INFO  [c.c.u.c.ComponentContext] (Timer-3:null) Starting com.cloud.server.ManagementServerImpl_EnhancerByCloudStack_550a6c02
INFO  [c.c.s.ManagementServerImpl] (Timer-3:null) Startup CloudStack management server...
INFO  [c.c.c.ClusterServiceServletContainer] (Thread-18:null) Cluster service servlet container listening on port 9090
INFO  [c.c.u.d.Merovingian2] (Timer-3:null) Cleaning up locks for 52238372990
INFO  [c.c.u.d.Merovingian2] (Timer-3:null) Released 0 locks for 52238372990
INFO  [c.c.c.ClusterManagerImpl] (Timer-3:null) register cluster listener class com.cloud.server.LockMasterListener
INFO  [c.c.c.ClusterManagerImpl] (Cluster-Heartbeat-1:null) We are good, no orphan management server msid in host table is found
INFO  [c.c.c.ClusterManagerImpl] (Cluster-Heartbeat-1:null) No inactive management server node found
WARN  [o.a.c.alerts] (Cluster-Notification-1:null)  alertType:: 14 // dataCenterId:: 0 // podId:: 0 // clusterId:: null // message:: Management server node 127.0.0.1 is up
WARN  [c.c.c.ClusterManagerImpl] (Cluster-Notification-1:null) Notifying management server join event took 76 ms

启动成功。

打开浏览器,访问URL:http://localhost:8080/client

输入

用户名:admin

密码:password

可登录。

打开eclipse,我们以远程可调试方式启动cloudstack,回到Eclipse工具中,点菜单“Run”,选择Debug Configurations

在出现的调试配置对话框中,我们点 New 创建一个新的Remote Java Application 配置。

设置eclipse 远程调试run,我们在Connect Tab页中,设置如下

选择远程调试使用的源代码,在Source Tab页中,点Add 按钮,从Java Project中增加源代码

出现的工程中,我们全部选择上。

点Debug.

打上断点,然后运行,就可以进行调试了。

时间: 2024-11-03 18:14:14

虚拟化平台cloudstack(7)——新版本的调试的相关文章

虚拟化平台cloudstack(6)——使用maven:jetty调试

调试环境 ubuntu 12.04 JDK1.7 apache-maven-3.10 eclipse 4.2 Juno mysql 5 apache ant JDK的配置和安装 安装可以参考: http://my.oschina.net/jamesju/blog/94916 我是安装在~//java/jdk1.7.0_21下,执行java -version可以看到当前的JDK版本. Maven的配置和安装 安装可以参考: http://blog.csdn.net/sin90lzc/article

虚拟化平台cloudstack(5)——参考资料

虚拟化的几种方式 完全虚拟化: 半虚拟化: 硬件辅助虚拟化: 详细的内容可以看: http://pan.baidu.com/share/link?shareid=4134188256&uk=271407 xen虚拟化及工作原理: http://www.cnblogs.com/BloodAndBone/archive/2010/11/02/1866907.html 运维人员更想看: http://linux.vbird.org/linux_enterprise/xen.php 虚拟化第三方管理工具

虚拟化平台cloudstack(1)——介绍

什么是cloudstack CloudStack是一个开源的具有高可用性及扩展性的云计算平台.目前Cloudstack支持管理大部分主流的hypervisors,如KVM,XenServer,VMware,Oracle VM,Xen等.同时CloudStack是一个开源云计算解决方案.可以加速高伸缩性的公共和私有云(IaaS)的部署.管理.配置.使用CloudStack作为基础,数据中心操作者可以快速方便的通过现存基础架构创建云服务. cloudstack概念架构 用户:通过网络访问属于我的虚拟

虚拟化平台cloudstack(2)——安装(上)

vmware workstation安装ubuntu server12.04 这个其实没什么说的了,下软件,安装,一顿下一步,OK. 安装完成后,为ubuntu server 12.04安装桌面. 使用下面的命令来进行更新源列表和安装图形桌面. sudo apt-get update sudo apt-get upgrade sudo apt-get install ubuntu-desktop 漫长的等待--,当然这个跟网速也有关系,然后重启. 熟悉的界面出现了,然后安装vm tools,这个

虚拟化平台cloudstack(4)——几个异常

cloudstack主机添加不成功 CloudStack正常启动,添加区域.提供点和群集都正常,但是添加主机时提示添加不成功. 先添加主机: 然后出现提示: 在网上找了一圈,基本上没什么回复,没办法,还得自己搞. 查看日志 进入/var/log/cloud/managerment,看管理服务器的日志: tail -f management-server.log 查看日志发现出现异常信息: 2013-06-27 09:07:19,659 INFO [cloud.resource.ResourceM

虚拟化平台cloudstack(8)——从UI开始

UI ucloudstack采用的是前后端分离的架构,就是说前端可以选择使用web.swing甚至其它的界面,都可以. 我们来看cloudstack的UI信息吧,所有的cloudstack的UI都在{cloudstack_home}/cloudstack/ui目录下. 用firefox打开工程,打开firebug,找到login.js,在100行加上断点. 执行登录,这时就会触发断点,让我们看看发生了什么: 最终是使用jquery的ajax来提交post请求给服务器端,也就是说,manager

使用符号执行以及虚拟化平台查找BIOS漏洞

本文讲的是使用符号执行以及虚拟化平台查找BIOS漏洞,找系统漏洞最普遍的方式就是模糊测试,通过生成器将随机产生的字符串发送到系统当中,以便发现其中的错误.但是,没有回显的模糊测试并不是一个很有效的方式去发现漏洞,因为没有一些提示去发现这些漏洞,以及大部分的测试都是徒劳无功.防御方在这一方面就有一定的优势了,因为可以看到源码,以及可以看到在攻击过程中后台显示的内容,挖洞过程中也可以通过静态分析,以及设置断点方法进行更有效的测试.崩溃和漏洞都可以回溯到源代码中,以便于更容易的修复. Intel的一个

多图带您领略Windows 10 Server虚拟化平台风采

Windows 10 Server的重点是虚拟化平台.从微软发布的信息来看,最终Windows 10 Server的命名可能会是Windows Server 2016.续上一篇的体验,我们来看看虚拟化平台方面的改变. 安装完Hyper-V角色之后,从版本号可以看到新版本的Hyper-V版本号变化非常大,直接跳到10.0以上了.虽然这只是Technical Preview 2版本,但根据微软的习惯,最终版本号也是刷新版本号数字. 从TP2版本的实际安装使用来看,本次的Hyper-V更新确实是从Hy

开源云平台CloudStack详解

CloudStack 2008年由VMOPS开发,在2010年5月份,VMOPS将其重新命名CloudStack.com,其2.0版本也随之发布了.去年7月份,思杰收购了CloudStack.com,发布了3.0版本.今年4月份,思杰把CloudStack开源贡献给Apache社区.10月份CloudStack以社区的身份发布了第一个版本--CloudStack4.0.11月中旬,在拉斯维加斯举办了第一次CloudStack大会. 这就是CloudStack的大致发展历程,CloudStack是