将Carte部署为Windows服务
1. 为何需要部署成Windows Service
如果以cmd命令行来启动Carte,如果开发者不小心将此命令行窗口给关闭了,那么Carte服务也会随之关闭。因此将Carte部署成Windows Service能够有效地防止开发者错误地将Carte服务给杀掉。配置成Windows服务形式能够让Carte开机自动启动。
2. 目标
将Carte部署成Windows Service,让Carte能够随着操作系统的启动而自动启动。
![show_carte_windows_service]({{ site.url }}/assets/image/carte-deploy-for-windows-service/show_carte_windows_service.png)
参考:Carte as a Windows Service
3. 部署步骤
3.1 下载YAJSW
AJSW是一个开源的Java服务包装(Java Service Wrapper)工具。YAJSW允许您把任何应用程序安装为window的服务或者作为一个Linux posix的守护进程进行监控。
将下载的压缩包解压到合适的目录下,并重命名为default,eg:将压缩包解压到D:\Pentaho\CarteService\default
3.2 配置wrapper.conf
将提供的wrapper.conf.pentaho_installer_notes拷贝到<CarteServiceFolder>/conf目录下并重命名为wrapper.conf,并对以下配置项进行配置:
(1) wrapper.working.dir
指定kettle根目录
wrapper.working.dir=D:/kettle5.3
(2) wrapper.java.app.jar
指定kettle启动jar
wrapper.java.app.jar = .\\launcher\\pentaho-application-launcher-5.3.0.0-213.jar
【注意】 kettle4.x和5.x对应的jar命名是不一样的,根据具体版本的文件命名来配置
![show_kettle_lancher]({{ site.url }}/assets/image/carte-deploy-for-windows-service/show_kettle_launcher.png)
(3) wrapper.java.command
指定java.exe所在的目录
wrapper.java.command = D:/Program Files/Java/jdk1.7.0_55_X64/bin/java.exe
(4) wrapper.app.parameter.3
指定Carte服务绑定的ip
wrapper.app.parameter.3 = 192.168.31.33
(5) wrapper.app.parameter.4
指定Carte服务绑定的端口号
wrapper.app.parameter.4 = 8081
(6) wrapper.java.additional.1
指定Carte服务所占用的最大内存
wrapper.java.additional.1 = -Xmx512m
3.3 运行测试
双击运行
<CarteServiceFolder>\bat\runConsole.bat
如果出现以下输出,证明配置成功并能够成功运行Carte
![show_runConsole_success]({{ site.url }}/assets/image/carte-deploy-for-windows-service/show_runConsole_success.png)
3.4 安装成Windows Service
在完成3.3测试之后退出命令行,双击运行
<CarteServiceFolder>\bat\installService.bat
此时就已经将Carte安装成Windows Service了。
3.5 运行或者停止Carte
(1) 可以通过查找”Windows服务”来启动或者停止Carte服务
(2) 通过
net start [carte_name]
或
net stop [carte_name]
来启动或者停止Carte服务
4. 单机部署多Carte服务
可以通过配置不同的服务名和监听端口,在同一台机器上部署多个Carte服务,复制多份解压后的<CarteServiceFolder>在同一个目录下。
修改不同目录下的wrapper.conf让以下配置唯一:
【defulat wrapper.conf】
wrapper.ntservice.name=pentaho_carte_8081
wrapper.ntservice.displayname=Pentaho DI Carte Port With 8081
wrapper.app.parameter.4=8081
wrapper.tray = false
【carte_8082 wrapper.conf】
wrapper.ntservice.name=pentaho_carte_8082
wrapper.ntservice.displayname=Pentaho DI Carte Port With 8082
wrapper.app.parameter.4=8082
wrapper.tray = false
完成以上配置后按照3.3和3.4的步骤即可以在同一台机器上部署并运行多个Carte服务
5. 更详细的Carte启动配置
使用xml文件配置Carte的文档请参考:
Carte XML配置
使用yajsw配置carte启动使用xml配置文件的方法如下:
修改wrapper.conf如下所示:
wrapper.app.parameter.1 = -main
wrapper.app.parameter.2 = org.pentaho.di.www.Carte
wrapper.app.parameter.3 = ./pwd/carte-config-8081.xml
#wrapper.app.parameter.3 = 192.168.31.33
#wrapper.app.parameter.4 = 8081
把原来的wrapper.app.parameter.4注释掉,其中wrapper.app.parameter.3改为具体的配置文件,如图中所示 ./pwd/carte-config-8081.xml 的绝对路径为 ${wrapper.working.dir}/pwd/carte-config-8081.xml
【注意】 其中wrapper.working.dir是另外一个需要配置的参数,这个参数的说明参考3.2节
将Carte部署为Windows服务相关推荐
- 利用Topshelf把.NET Core Generic Host管理的应用程序部署为Windows服务
2019第一篇文章. 此文源于前公司在迁移项目到.NET Core的过程中,希望使用Generic Host来管理定时任务程序时,没法部署到Windows服务的问题,而且官方也没给出解决方案,只能关注 ...
- SpringBoot打包部署成Windows服务的详细步骤
SpringBoot打包部署成Windows服务的详细步骤 1.SpringBoot 1.1 pom.xml 1.2 项目代码 1.2.1 项目结构 1.2.2 Controller的代码 1.2.3 ...
- python脚本部署为Windows服务
python脚本部署为Windows服务 基础需求环境:python环境(不会安装建议ctrl+w, 你已经退出接下来的教程了)windows环境(需要了解环境变量的配置和服务位置) 好了,开始吧. ...
- .NET Core Generic Host项目使用Topshelf部署为Windows服务
1..NET Core Generic Host是什么? 在.NET Core 2.1版本加入了一种新的Host,即Generic Host(通用主机). 现在在2.1版本的Asp.Net Core中 ...
- 把 Console 部署成 Windows 服务,四种方式总有一款适合你!
一:背景 1. 讲故事 上周有一个项目交付,因为是医院级项目需要在客户的局域网独立部署.程序:netcore 2.0,操作系统:windows server 2012,坑爹的事情就来了, netcor ...
- Windows服务初探
在Windows中,对于一些不需要显示图形界面的应用程序,我们可以把它做成Windows服务,让它在后台运行,例如一些文件监视服务等.一台电脑中的Windows服务可以在"计算机-管理-服务 ...
- 基于SignalR实现B/S系统对windows服务运行状态的监测
通常来讲一个BS项目肯定不止单独的一个BS应用,可能涉及到很多后台服务来支持BS的运行,特别是针对耗时较长的某些任务来说,Windows服务肯定是必不可少的,我们还需要利用B/S与windows服务进 ...
- 在5分钟内将Spring Boot作为Windows服务启动
最近,我不得不将Spring Boot应用程序部署为Windows服务,并且对使用winsw如此容易感到惊讶. 我之前曾写过关于使用procrun – Java程序作为Windows服务的文章 ,但是 ...
- windows 服务中托管asp.net core
在windows 服务中托管asp.net core SDK 2.1.300 官方示例 1.添加运行标识符 xml <PropertyGroup> <TargetFramework& ...
最新文章
- mongo go 查询指定字段_Go语言 操作MongoDB数据库批量查询
- 解决GitHub加载不出图片问题
- 富文本++php+源码,自己实现富文本编辑器
- docker镜像和容器区别
- java如何连接mysql_Java如何连接数据库
- 自动化审批决策树助你面试更上一层楼
- 在Intranet环境中保护.NETWeb应用程序方案(转)
- JAVA正则表达式及常用类
- SQL*Plus环境下创建PLUSTRACE角色
- 书籍-Java性能调优指南
- Java Runtime 详解
- 中国物联网激荡的20年发展
- HTML零基础入门教程完整版
- 移动H5手势密码解锁插件--demo
- video.js的简单用法
- 全国哀悼日 网站变灰代码集锦
- tplink路由器设置网址方法
- Banner大小之国际标准
- python爬取酷狗音乐top500及歌词_爬取酷狗音乐Top500(示例代码)
- 个人计算机培训校本研修总结,个人研修总结
热门文章
- 计算机主板测试配件,如何检测主板是否有问题_如何诊断主板是否损坏,没有图形步骤...
- Android中手写签名的实现
- 灵遁者句子:意识从物质诞生那一刻起,就诞生了
- Matlab里关于T2F/F2T/lpf.m函数调用应注意的问题及函数修改
- 高中数学之向量外积的运用
- STM32基于HAL工程硬件I2C读写AT24C02/04/08数据
- akoj-1267-独木舟上的荡漾
- 【Unity】Obi插件系列(七)—— Obi Emitters
- 关于“微笑涛声”博客
- 软件测试—第五章白盒测试.逻辑覆盖法