CloudStack 4.3 源码部署+eclipse远程调试


CloudStack 4.3 源码部署

系统环境

           vmware workstation 下创建一个虚拟机 装有Centos6.5  64bit

安装软件

                   1、yum install git mysql mysql-server mkisofs gcc python MySQL-python openssh-clients wget

                     2、下载maven 并解压到 /root/maven 目录

                    3、下载ant 并解压到 /root/ant 目录

                    4、下载sun jdk 7 并解压到 /root/jdk 目录

                    5、下载tomcat7 并解压到 /root/tomcat 目录

                    6、配置 境 量 /etc/profile 文件 在文件末尾增加变量配置

export  M2_HOME=/root/maven/apache-maven-3.2.1
export PATH=$PATH:$M2_HOME/bin
export ANT_HOME=/root/ant/apache-ant-1.9.4
export PATH=$ANT_HOME/bin:$PATH
export TOMCAT_HOME=/root/tomcat/apache-tomcat-7.0.54
export PATH=$PATH:$TOMCAT_HOME/bin
export JAVA_HOME=/root/java/jdk1.7.0_60
export PATH=$JAVA_HOME/bin:$PATH
export classpath=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

重启虚拟机,使配置的环境变量生效。

                  7、安装mysql,配置mysql:启动mysql: service mysqld restart

                                               配置mysql开机启动:chkconfig mysqlkd on    

源码下载

          使用git 下载cloudstack 4.3源码:git clone -b 4.3 --recursivehttps://github.com/apache/cloudstack.git

编译运行

      进入cloudstack 源码目录,修改数据库配置 build/replace.properties

  

DBUSER=cloud
DBPW=cloud
DBROOTPW=123456a?
MSLOG=vmops.log
APISERVERLOG=api.log
DBHOST=localhost
AGENTLOGDIR=logs
AGENTLOG=logs/agent.log
MSMNTDIR=/mnt
COMPONENTS-SPEC=components.xml
AWSAPILOG=awsapi.log
REMOTEHOST=localhost
COMMONLIBDIR=/root/workspace/cloudstack/client/target/cloud-client-ui-4.3.0-SNAPSHOT/WEB-INF/classes

 

进入目录cloudstack 源码目录:

执行:

   1、mvn clean

   2、mvn -P deps  下载依赖

   3、mvn install

   4、mvn -P developer -Ddeploydb -pl developer  初始化数据库

   5、运行:mvn -pl client jetty:run

CloudStack管理服务器就在运行状态了

常见问题

1、如果出现内存不足的情况,可以设置 tomcat的jvm内存: export MAVEN_OPTS="-Xmx1024m -Xms256m -XX:PermSize=256m"
2、如何执行调试设置参数export MAVEN_OPTS="-Xmx512m -Xms128m -XX:PermSize=128m-Xdebug-Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=n"        

3、修改cloudstack数据库地址:需要修改文件:cloudstack/utils/conf/db.properties   和cloudstack/tools/devcloud/devcloud.cfg 以及cloudstack/build/replace.properties

 

Eclipse 远程调试

前提

           1、使用git clone -b 4.3 --recursivehttps://github.com/apache/cloudstack.git 获取源码,大概有400M

           2、eclipse 安装m2e插件、PyDev插件、使用jdk1.6

           3、远程机器已经按照上述源码编译运行启动,其中MAVEN_OPTS 参数设置为:export MAVEN_OPTS="-Xmx512m -Xms128m -XX:PermSize=128m-Xdebug -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=n" 

 

Eclipse 调试

Eclipse 导入源码,后执行mvn clean,如下图所示:

执行 mvn -P deps 如下图所示:

 

执行编译,如下图所示:

 

进行远程调试:

这个时候需要将源码加入:

 

                            

 启动后,就可以打断点进行调试了。

 常见问题

    由于代码量太大,eclipse 会出现 java heap space 错误,或者  gc 频繁的错误。可以通过修改过eclipse.ini文件,给出我目前使用的配置:

openFile  
--launcher.XXMaxPermSize  
256M  
-showsplash  
org.eclipse.platform  
--launcher.XXMaxPermSize  
512m  
--launcher.defaultAction  
openFile  
-vmargs  
-Dosgi.requiredJavaVersion=1.5  
-Xms1024m  
-Xmx2048m


 

 

相关内容