调试环境

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. (893ca28a1da9d5f51ac03827af98bb730128f9f2; -- ::+)
Maven home: /home/skyme/java/apache-maven-3.1.
Java version: 1.7.0_21, vendor: Oracle Corporation
Java home: /home/skyme/java/jdk1..0_21/jre
Default locale: en_US, platform encoding: UTF-
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-:null) Starting com.cloud.network.guru.OvsGuestNetworkGuru_EnhancerByCloudStack_2230f61b
INFO [c.c.u.c.ComponentContext] (Timer-:null) Starting com.cloud.template.HypervisorTemplateAdapter_EnhancerByCloudStack_ab1a790f
INFO [c.c.u.c.ComponentContext] (Timer-:null) Starting com.cloud.network.guru.StorageNetworkGuru_EnhancerByCloudStack_8d4afb32
INFO [c.c.u.c.ComponentContext] (Timer-:null) Starting com.cloud.network.element.MidoNetElement_EnhancerByCloudStack_bbaedad
INFO [c.c.u.c.ComponentContext] (Timer-:null) Starting org.apache.cloudstack.storage.allocator.ClusterScopeStoragePoolAllocator_EnhancerByCloudStack_a26e7930
INFO [c.c.u.c.ComponentContext] (Timer-:null) Starting org.apache.cloudstack.storage.allocator.GarbageCollectingStoragePoolAllocator_EnhancerByCloudStack_3ecf09b5
INFO [c.c.u.c.ComponentContext] (Timer-:null) Starting org.apache.cloudstack.acl.StaticRoleBasedAPIAccessChecker_EnhancerByCloudStack_16619324
INFO [c.c.u.c.ComponentContext] (Timer-:null) Starting com.cloud.ha.KVMFencer_EnhancerByCloudStack_fa0503f3
INFO [c.c.u.c.ComponentContext] (Timer-:null) Starting com.cloud.network.element.VirtualRouterElement_EnhancerByCloudStack_9d6525ff
INFO [c.c.u.c.ComponentContext] (Timer-:null) Starting com.cloud.ha.XenServerFencer_EnhancerByCloudStack_bfe5e165
INFO [c.c.u.c.ComponentContext] (Timer-:null) Starting com.cloud.storage.secondary.SecondaryStorageVmDefaultAllocator_EnhancerByCloudStack_feb121d2
INFO [c.c.u.c.ComponentContext] (Timer-:null) Starting com.cloud.server.auth.MD5UserAuthenticator_EnhancerByCloudStack_1500f4a2
INFO [c.c.u.c.ComponentContext] (Timer-:null) Starting com.cloud.network.element.NiciraNvpElement_EnhancerByCloudStack_48e0bcdb
INFO [c.c.u.c.ComponentContext] (Timer-:null) Starting com.cloud.hypervisor.XenServerGuru_EnhancerByCloudStack_41a08dc3
INFO [c.c.u.c.ComponentContext] (Timer-:null) Starting com.cloud.ha.XenServerInvestigator_EnhancerByCloudStack_f77a7c2d
INFO [c.c.u.c.ComponentContext] (Timer-:null) Starting com.cloud.network.element.ElasticLoadBalancerElement_EnhancerByCloudStack_510d11fa
INFO [c.c.u.c.ComponentContext] (Timer-:null) Starting com.cloud.network.guru.NiciraNvpGuestNetworkGuru_EnhancerByCloudStack_9f279c07
INFO [c.c.u.c.ComponentContext] (Timer-:null) Starting com.cloud.baremetal.networkservice.BaremetalPxeElement_EnhancerByCloudStack_ec99bfab
INFO [c.c.u.c.ComponentContext] (Timer-:null) Starting com.cloud.server.ManagementServerImpl_EnhancerByCloudStack_550a6c02
INFO [c.c.s.ManagementServerImpl] (Timer-:null) Startup CloudStack management server...
INFO [c.c.c.ClusterServiceServletContainer] (Thread-:null) Cluster service servlet container listening on port
INFO [c.c.u.d.Merovingian2] (Timer-:null) Cleaning up locks for
INFO [c.c.u.d.Merovingian2] (Timer-:null) Released locks for
INFO [c.c.c.ClusterManagerImpl] (Timer-:null) register cluster listener class com.cloud.server.LockMasterListener
INFO [c.c.c.ClusterManagerImpl] (Cluster-Heartbeat-:null) We are good, no orphan management server msid in host table is found
INFO [c.c.c.ClusterManagerImpl] (Cluster-Heartbeat-:null) No inactive management server node found
WARN [o.a.c.alerts] (Cluster-Notification-:null) alertType:: // dataCenterId:: 0 // podId:: 0 // clusterId:: null // message:: Management server node 127.0.0.1 is up
WARN [c.c.c.ClusterManagerImpl] (Cluster-Notification-:null) Notifying management server join event took 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.

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

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

  1. 虚拟化平台cloudstack新版本的调试

    虚拟化平台cloudstack(7)——新版本的调试 调试环境 ubuntu 12.04 JDK1.7 apache-maven-3.10 eclipse 4.2 Juno mysql 5 源码下载及 ...

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

    调试环境 ubuntu 12.04 JDK1.7 apache-maven-3.10 eclipse 4.2 Juno mysql 5 apache ant JDK的配置和安装 安装可以参考: htt ...

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

    虚拟化的几种方式 完全虚拟化: 半虚拟化: 硬件辅助虚拟化: 详细的内容可以看: http://pan.baidu.com/share/link?shareid=4134188256&uk=2 ...

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

    vmware workstation安装ubuntu server12.04 这个其实没什么说的了,下软件,安装,一顿下一步,OK. 安装完成后,为ubuntu server 12.04安装桌面. 使 ...

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

    UI ucloudstack采用的是前后端分离的架构,就是说前端可以选择使用web.swing甚至其它的界面,都可以. 我们来看cloudstack的UI信息吧,所有的cloudstack的UI都在{ ...

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

    cloudstack主机添加不成功 CloudStack正常启动,添加区域.提供点和群集都正常,但是添加主机时提示添加不成功. 先添加主机: 然后出现提示: 在网上找了一圈,基本上没什么回复,没办法, ...

  7. 虚拟化平台cloudstack(3)——安装(下)

    登录时用户名和密码错误 默认账号密码 admin/password 管理节点安装好后,初始化数据库,完了使用admin和password登陆提示用户名密码错误,查看日志: Fail to genera ...

  8. 【VMware虚拟化解决方案】 基于VMware虚拟化平台VDI整体性能分析与优化

    一.说一说 本来打算将前期项目里面出现的问题的分析思路与解决方法写出来,第一.疏导一下自己的思路,第二.分析并找出自身在技术层面所存在欠缺.但由于每个人都有一根懒经所以迟迟未动.今天突然发现51CTO ...

  9. 恒天云技术分享系列5 – 虚拟化平台性能对比(KVM & VMware)

    恒天云技术分享系列:http://www.hengtianyun.com/download-show-id-14.html 概述 本性能测试报告将详细陈述各虚拟化平台基准性能测试的主要结论和详细结果. ...

随机推荐

  1. LeetCode OJ-- 二战 Combinations

    在1 - 10 中,求出 7 个数的排列组合. 出现了超时,而超时的原因是有好多重复情况,复杂度上来说,和答案的复杂度是一样的,但是答案中重复了太多了,体会下. 超时1: class Solution ...

  2. 国内及Github优秀开发人员列表

    自从入了Android软件开发的行道,解决问题和学习过程中免不了会参考别人的思路,浏览博文和门户网站成了最大的入口.下面这些列表取名为:国内及Github优秀开发人员列表,就是浏览后的成果. 虽然下述 ...

  3. ARC模式下的内存泄露问题

    ARC模式下的内存泄露问题 iOS提供的ARC 功能很大程度上简化了编程,让内存管理变得越来越简单,但是ARC并不是说不会发生内存泄露,使用不当照样会发生. 以下列举两种内存泄露情况: 死循环造成的内 ...

  4. [转]为什么使用 Redis及其产品定位

    原文链接:http://www.infoq.com/cn/articles/tq-why-choose-redis 传统MySQL+ Memcached架构遇到的问题 实际MySQL是适合进行海量数据 ...

  5. (转)Java中的static关键字解析

    转自http://www.cnblogs.com/dolphin0520/p/3799052.html 一.static关键字的用途 在<Java编程思想>P86页有这样一段话: “sta ...

  6. 【分块打表】bzoj3758 数数

    验证一个数是不是优美的:设数位之和为sum,若sum mod 2 != 0,则不优美.否则考虑枚举这个数的每一位,将之前所有位任意相加产生的所有 数字和 和 当前位 的和塞到集合里,最终判断集合中是否 ...

  7. java加密解压类库

    java压缩类库_支持加密解压.zip public static void unzip(File zipFile, String dest, String passwd) throws ZipExc ...

  8. matlab资源

    百度网盘  链接:http://pan.baidu.com/s/1c06ikEW 密码:9dpt包含matlab6.5,7,7.01,7.04,7.1,Matlab2006b(7.3),Matlab  ...

  9. centos7.2进入单用户模式

    1 - 在启动grub菜单,选择编辑选项启动 2 - 按键盘e键,来进入编辑界面 3 - 找到Linux 16的那一行,将ro改为rw init=/sysroot/bin/sh 4 - 现在按下 Co ...

  10. [c语言]字符数组、字符串定义

    C语言中字符串通常用字符指针和字符数组来定义: char* pS="abcdef"; char s[]="abcdef"; 这两种方式都会在结尾为字符串隐式补结 ...