有一段時間沒有更新博客了,最近有不少朋友在問怎麼部署,今天更新一下,專門講講OSMP的編譯和部署以及開發調試!mysql
OSMP的部署很簡單,分爲三部分:linux
工程導入和編譯:git
1:從osmp(http://git.oschina.net/wyuxiao729/osmp)下載整個工程到本地電腦web
2:將工程導入eclipsespring
File->Import...->選Maven 下的 Existing Maven Projects -> RootDirectory Browse...選擇osmp下載的本地目錄 -> 勾選 Add project(s) to working set 填入osmp -> Finishsql
選擇Package Explorer視圖右上角的下拉三角形,切換到Working Sets模式下,方便查看項目管理和查看docker
eclipse會自動下載所依賴的jar,這個過程可能第一次稍微有點兒久,耐心等待!數據庫
下載完成後,能夠在Work Sets的 osmp-parent目錄下右鍵選 Maven - > Update Projects...刷新一下apache
在osmp-parent 工程下點右鍵 Run As... - > Maven Install 編譯所有工程vim
依賴Zookeeper安裝:
zookeeper安裝網上不少教程,這裏不細講,推薦你們經過docker的方式跑一個zookeeper起來。
數據庫腳本導入:
將osmp工程目錄下的osmp.sql腳本導入 mysql數據庫
ServiceMix部署:
- servicemix最好能部署到linux環境下,在windows環境下服務器啓動和中止功能不能使用。
- 將osmp工程下的 apache-servicemix-5.1.0.rar解壓並上傳到linux服務器上,配置好jdk環境,這裏強調一下osmp只能在jdk1.7以上的環境下運行。
- osmp只能跑在servicemix-5.0.1版本下,osmp裏使用spring不支持spring4,若是你們要使用高版本,請自行將osmp裏spring版本升級到4以上,osmp框架通過生產環境的檢測,已經在線上穩定運行2年多,你們能夠自行升級spirng或servicemix版本進行測試和研究!
配置文件修改:
進入${SERVICEMIX_HOME}/etc目錄, 修改com.osmp.config.cfg文件,修改 zookeeper.url=10.2.1.49:2181 爲你實際部署的zookeeper地址保存並退出
進入${SERVICEMIX_HOME}/etc/datasource目錄, 修改 com.osmp.jdbc.properties 數據庫配置文件,特別注意一下 osmp.jdbc.name=osmp 必定要與數據庫實際名稱一致。
Servicemix開啓遠程debug功能:
因爲在eclipes環境搭建osgi環境很是的麻煩,對於依賴包的管理也不是很是的方便,所以建議直接在karaf或者servicemix裏經過遠程調試代碼。
進入${SERVICEMIX_HOME}/bin目錄 vim 編輯 servicemix文件 在 「export KARAF_SCRIPT」 以後新增一行 「export KARAF_DEBUG=true」 保存退出
受權
chmod 755 ${SERVICEMIX_HOME}/bin/*
啓動
${SERVICEMIX_HOME}/bin/start 或 ${SERVICEMIX_HOME}/bin/servicemix 前者啓動後守護進程 ,後者啓動直接進入控制檯,若是使用前者啓動,經過 ssh -p 8101 smx@localhost 後輸入密碼 smx 登陸控制檯
PS:5005爲遠程調試端口,只有開啓了debug功能纔會出現。 至此咱們的服務節點已經跑起來了。
服務發佈:
在控制檯上經過 list 命令能夠看到已經布的服務組件,以osmp- 開頭的爲osmp初始的服務和基礎組件,我已經在上傳到git上的時候就打到${SERVICEMIX_HOME}/deploy目錄下了
你們能夠將本身的服務經過ftp或其它方式上傳到${SERVICEMIX_HOME}/deploy目錄下即完成服務的發佈。也能夠經過osmp-web管理界面的bundle管理進行發佈。
注:若是經過karaf部署的話,須要本身安裝所依賴的bundle包括 spirng,webconsole,cxf,camel等。servicemix默認沒有安裝 webconsole,須要手動安裝webconsole,命令爲:features:install webconsole,也能夠添加servicemix啓動時自動安裝
vim ${SERVICEMIX_HOME}/etc/org.apache.karaf.features.cfg 在 featuresBoot後添加 ",webconsole" 便可。
OSMP-web管理後臺部署:
osmp-web是 osmp的管理後臺,直接部署到jetty或tomcat等web服務器便可,具體部署過程很少說,只說一下須要修改配置的地方。
classpath目錄下的 dbconfig.properties 數據庫配置,按實際修改,spring-main.xml 最下面的 zookeeper按實際修改便可。
訪問:
http://localhost:8080 用戶名: admin 密碼:12345
登陸之後,新增或修改服務器 注意管理界面url 服務器ssh端口、用戶名、密碼的填寫,執行腳本路徑是按lunux下osmp/bin的路徑。新增或修改服務器後,能夠在組件列表查看當前服務節點上安裝的組件。
修改監控組件上報地址:
- osmp-monitor 是 節點監控組件,也是在osgi環境下camel使用的一個demo,修改osmp-monitor配置文件 bundle-context.xml 將 配置文件中的 <camel:to uri="http://192.168.4.202:8080/servers/jvmMomitor.do"></camel:to> 中IP和端口修改成osmp-web服務器的IP和端口。
- 在osmp-monitor工程上右鍵 Run As... - > Maven Install 從新編譯打包, 在osmp-web 組件管理裏 安裝/升級 - > 選擇剛剛打包編譯的 osmp-monitor jar包 在線安裝。
- 安裝完成後,能夠查看服務器管理裏服務器的狀態和在系統監控 - > 性能監控查看服務器的性能。
至此 osmp 部署基本結束,後續還會繼續博客還有不少關於osmp的高級功能和基於osmp框架下的服務組件的開發等內容。敬請期待!!!
若是在部署過程當中有任何不明白的地方歡迎加 qq:335898216 交流