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
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。