有一段时间没有更新博客了,最近有很多朋友在问怎么部署,今天更新一下,专门讲讲OSMP的编译和部署以及开发调试!
OSMP的部署很简单,分为三部分:
工程导入和编译:
1:从osmp(http://git.oschina.net/wyuxiao729/osmp)下载整个工程到本地电脑
2:将工程导入eclipse
File->Import...->选Maven 下的 Existing Maven Projects -> RootDirectory Browse...选择osmp下载的本地目录 -> 勾选 Add project(s) to working set 填入osmp -> Finish
选择Package Explorer视图右上角的下拉三角形,切换到Working Sets模式下,方便查看项目管理和查看
eclipse会自动下载所依赖的jar,这个过程可能第一次稍微有点儿久,耐心等待!
下载完成后,可以在Work Sets的 osmp-parent目录下右键选 Maven - > Update Projects...刷新一下
在osmp-parent 工程下点右键 Run As... - > Maven Install 编译全部工程
依赖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 [email protected] 后输入密码 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 交流