Wrapper使用
将java应用程序打包jar
准备工作、下载java service wrapper https://wrapper.tanukisoftware.com/doc/english/download.jsp
-
linux中创建目录结构如下
mkdir -p /opt/HeartBeatServerApp
mkdir -p /opt/HeartBeatServerApp/lib
mkdir -p /opt/HeartBeatServerApp/bin
mkdir -p /opt/HeartBeatServerApp/conf
cp /usr/hadoop/wrapper-linux-x86-64-3.5.34-st/src/bin/sh.script.in /opt/HeartBeatServerApp/bin/HeartBeatServerApp
cp /usr/hadoop/wrapper-linux-x86-64-3.5.34-st/bin/wrapper /opt/HeartBeatServerApp/bin/
cp /usr/hadoop/wrapper-linux-x86-64-3.5.34-st/src/conf/wrapper.conf.in /opt/HeartBeatServerApp/conf/wrapper.conf
cp /usr/hadoop/wrapper-linux-x86-64-3.5.34-st/lib/libwrapper.so /opt/HeartBeatServerApp/lib/
cp /usr/hadoop/wrapper-linux-x86-64-3.5.34-st/lib/wrapper.jar /opt/HeartBeatServerApp/lib/
cp /usr/hadoop/wrapper-linux-x86-64-3.5.34-st/lib/wrappertest.jar /opt/HeartBeatServerApp/lib/
- 编辑 /bin/HeartBeatServerApp
APP_NAME="HeartBeatServerApp" //主目录名保持一致
APP_LONG_NAME="HeartBeatServerApp Server"
WRAPPER_CMD="./wrapper"
WRAPPER_CONF="../conf/wrapper.conf"
- 修改wrapper.conf文件
指定JDK的安装路径。
wrapper.java.command=/usr/local/jdk1.8.0_60/bin/java
指定主类名称,此处就是Wrapper主类的名称,因为自己发布的是jar包,所以用WrapperJarApp类。
wrapper.java.mainclass=org.tanukisoftware.wrapper.WrapperJarApp
设置使用到的jar包。
wrapper.java.classpath.1=./wrapper.jar
wrapper.java.classpath.2=/usr/local/jdk1.8.0_60/lib/dt.jar
wrapper.java.classpath.3=/usr/local/jdk1.8.0_60/lib/tools.jar
wrapper.java.classpath.4=./(你发布jar的名称)
设置动态库路径(Wrapper.DLL or libwrapper.so的位置,因为我全部放在同一目录下,所以做如下设置)
wrapper.java.library.path.1=./
设置你发布的jar包名称
wrapper.app.parameter.1=./(你发布jar的名称)
- 注册为系统服务
HeartBeatServerApp -> 更改为 .sh chmod +x 授权
./HeartBeatServerApp install 安装为linux系统服务
service HeartBeatServerApp start
- log4j配置
wrapper.java.additional.1=-Dlog4j.configuration=file:../bin/log4j.properties
- 开机自启动
创建软连接 ln -s xxx /etc/init.d
chkconfig --add servicename
chkconfig servicename on
- 官网参考
https://wrapper.tanukisoftware.com/doc/english/integrate.html