CloudStack 4.3 源码部署+Eclipse远程调试
CloudStack 4.3 源码部署
系统环境
VMware Workstation 下创建一个虚拟机 装有CentOS 6.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,如下图所示: