CloudStack 4.3 源碼部署
原文地址:http://www.damonyi.cc/?p=42
系統環境
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