標籤:c style class blog code java
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.1export PATH=$PATH:$M2_HOME/binexport ANT_HOME=/root/ant/apache-ant-1.9.4export PATH=$ANT_HOME/bin:$PATHexport TOMCAT_HOME=/root/tomcat/apache-tomcat-7.0.54export PATH=$PATH:$TOMCAT_HOME/binexport JAVA_HOME=/root/java/jdk1.7.0_60export PATH=$JAVA_HOME/bin:$PATHexport 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=cloudDBPW=cloudDBROOTPW=123456a?MSLOG=vmops.logAPISERVERLOG=api.logDBHOST=localhostAGENTLOGDIR=logsAGENTLOG=logs/agent.logMSMNTDIR=/mntCOMPONENTS-SPEC=components.xmlAWSAPILOG=awsapi.logREMOTEHOST=localhostCOMMONLIBDIR=/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