osgi实战项目(osmp)一步一步玩转osgi之项目部署(2)

    有一段时间没有更新博客了,最近有很多朋友在问怎么部署,今天更新一下,专门讲讲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 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 交流

 

 

 

 

猜你喜欢

转载自wyuxiao729.iteye.com/blog/2335863