首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >jboss服务没有在CentOS7中启动

jboss服务没有在CentOS7中启动
EN

Unix & Linux用户
提问于 2018-06-11 11:08:19
回答 1查看 18.3K关注 0票数 2

无法在Centos 7上分叉initd脚本。我已经安装了EAP7,它附带内置的initd脚本来启动服务。我启动/停止/重新启动服务,如下所示,这些服务运行良好。但是,当我通过systemd发送相同的initd脚本时,它不起作用。任何帮助都将不胜感激。

代码语言:javascript
运行
复制
# /opt/jboss/bin/init.d/jboss-eap-rhel.sh start
Starting jboss-eap: /root
                                                           [  OK  ]
# /opt/jboss/bin/init.d/jboss-eap-rhel.sh status
jboss-eap is running (pid 3024)

# /opt/jboss/bin/init.d/jboss-eap-rhel.sh stop
Stopping jboss-eap:                                        [  OK  ]

# /opt/jboss/bin/init.d/jboss-eap-rhel.sh status
jboss-eap is not running

# /opt/jboss/bin/init.d/jboss-eap-rhel.sh start
Starting jboss-eap: /root
                                                           [  OK  ]
# /opt/jboss/bin/init.d/jboss-eap-rhel.sh status
jboss-eap is running (pid 3314)

通过systemd对相同的initd脚本进行分叉,会产生一个错误。

代码语言:javascript
运行
复制
# cat /etc/systemd/system/jbosseap7.service
[Unit]
Description=JBoss EAP7
After=syslog.target
After=network.target

[Service]
Type=forking
ExecStart=/opt/jboss/bin/init.d/jboss-eap-rhel.sh start
ExecStop=/opt/jboss/bin/init.d/jboss-eap-rhel.sh stop
ExecReload=/opt/jboss/bin/init.d/jboss-eap-rhel.sh restart
PIDFile=/var/run/jboss-eap/jboss-eap-standalone.pid

[Install]
WantedBy=multi-user.target


# time systemctl start jbosseap7
Job for jbosseap7.service failed because a timeout was exceeded. See "systemctl status jbosseap7.service" and "journalctl -xe" for details.

real    **1m27.330s**
user    0m0.008s
sys     0m0.003s

# time systemctl status jbosseap7
● jbosseap7.service - JBoss EAP7
   Loaded: loaded (/etc/systemd/system/jbosseap7.service; enabled; vendor preset: disabled)
   Active: failed (Result: timeout) since Mon 2018-06-11 07:04:29 EDT; 15s ago

Jun 11 06:58:22 node01.local.com systemd[1]: Starting JBoss EAP7...
Jun 11 06:58:22 node01.local.com runuser[4071]: pam_unix(runuser:session): session opened for user jboss by (uid=0)
Jun 11 06:58:22 node01.local.com jboss-eap-rhel.sh[4060]: Starting jboss-eap: /
Jun 11 06:58:39 node01.local.com jboss-eap-rhel.sh[4060]: [  OK  ]
Jun 11 06:58:39 node01.local.com systemd[1]: PID file /var/run/jboss-eap/jboss-eap-standalone.pid not readable (yet?) after start.
Jun 11 07:04:28 node01.local.com systemd[1]: jbosseap7.service start operation timed out. Terminating.
Jun 11 07:04:29 node01.local.com systemd[1]: Failed to start JBoss EAP7.
Jun 11 07:04:29 node01.local.com systemd[1]: Unit jbosseap7.service entered failed state.
Jun 11 07:04:29 node01.local.com systemd[1]: jbosseap7.service failed.

real    0m0.045s
user    0m0.004s
sys     0m0.000s

注意:我甚至尝试在服务单元下指定超时限制,但这仍然不起作用。没有指定时间限制,它仍然需要很长的时间(1分27秒)。这里有什么问题吗?

附加评论:

有时它开始,有时它没有开始。我们怎样才能确定失败的那一个呢?

代码语言:javascript
运行
复制
# systemctl start jbosseap7
# systemctl status jbosseap7
● jbosseap7.service - JBoss EAP7
   Loaded: loaded (/etc/systemd/system/jbosseap7.service; enabled; vendor preset: disabled)
   Active: inactive (dead) since Mon 2018-06-11 07:32:47 EDT; 7s ago
  Process: 2913 ExecStop=/etc/init.d/jboss-eap-rhel.sh stop (code=exited, status=0/SUCCESS)
  Process: 2771 ExecStart=/etc/init.d/jboss-eap-rhel.sh start (code=exited, status=0/SUCCESS)
 Main PID: 2537 (code=exited, status=0/SUCCESS)

Jun 11 07:32:15 node01.local.com systemd[1]: Starting JBoss EAP7...
Jun 11 07:32:15 node01.local.com runuser[2782]: pam_unix(runuser:session): session opened for user jboss by (uid=0)
Jun 11 07:32:15 node01.local.com jboss-eap-rhel.sh[2771]: Starting jboss-eap: /
Jun 11 07:32:46 node01.local.com jboss-eap-rhel.sh[2771]: jboss-eap started with errors, please see server log for details
Jun 11 07:32:46 node01.local.com jboss-eap-rhel.sh[2771]: [  OK  ]
Jun 11 07:32:47 node01.local.com jboss-eap-rhel.sh[2913]: Stopping jboss-eap: [  OK  ]
Jun 11 07:32:47 node01.local.com systemd[1]: Started JBoss EAP7.

# ps -ef | grep jboss
root      2924  2222  0 07:33 pts/0    00:00:00 grep --color=auto jboss

# systemctl start jbosseap7

# systemctl status jbosseap7
● jbosseap7.service - JBoss EAP7
   Loaded: loaded (/etc/systemd/system/jbosseap7.service; enabled; vendor preset: disabled)
   Active: active (running) since Mon 2018-06-11 07:33:35 EDT; 3s ago
  Process: 2913 ExecStop=/etc/init.d/jboss-eap-rhel.sh stop (code=exited, status=0/SUCCESS)
  Process: 2930 ExecStart=/etc/init.d/jboss-eap-rhel.sh start (code=exited, status=0/SUCCESS)
 Main PID: 2943 (standalone.sh)
   CGroup: /system.slice/jbosseap7.service
           ├─2943 /bin/sh /opt/jboss/bin/standalone.sh -c standalone.xml
           └─3012 java -D[Standalone] -server -verbose:gc -Xloggc:/opt/jboss/standalone/log/gc.log -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+UseGCLogFileRotation -XX:Nu...

Jun 11 07:33:19 node01.local.com systemd[1]: Starting JBoss EAP7...
Jun 11 07:33:19 node01.local.com runuser[2941]: pam_unix(runuser:session): session opened for user jboss by (uid=0)
Jun 11 07:33:19 node01.local.com jboss-eap-rhel.sh[2930]: Starting jboss-eap: /
Jun 11 07:33:35 node01.local.com jboss-eap-rhel.sh[2930]: [  OK  ]
Jun 11 07:33:35 node01.local.com systemd[1]: Started JBoss EAP7.

PS结果:

代码语言:javascript
运行
复制
# ps -aux|grep jboss
jboss     4559  0.0  0.0 113120  1540 ?        S    07:58   0:00 /bin/sh /opt/jboss/bin/standalone.sh -c standalone.xml
jboss     4628 49.4 33.9 3077608 640432 ?      Sl   07:58   0:15 java -D[Standalone] -server -verbose:gc -Xloggc:/opt/jboss/standalone/log/gc.log -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=5 -XX:GCLogFileSize=3M -XX:-TraceClassUnloading -Xms1303m -Xmx1303m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=true -Djboss.modules.system.pkgs=org.jboss.byteman -Djava.awt.headless=true -Dorg.jboss.boot.log.file=/opt/jboss/standalone/log/server.log -Dlogging.configuration=file:/opt/jboss/standalone/configuration/logging.properties -jar /opt/jboss/jboss-modules.jar -mp /opt/jboss/modules org.jboss.as.standalone -Djboss.home.dir=/opt/jboss -Djboss.server.base.dir=/opt/jboss/standalone -c standalone.xml
root      4754  0.0  0.0 112644   952 pts/0    R+   07:58   0:00 grep --color=auto jboss
EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2018-06-11 11:19:29

从systemctl守护进程的日志中可以明显看出,它正在尝试读取jboss的pid文件。

因此,首先删除它的pid文件:

代码语言:javascript
运行
复制
rm /var/run/jboss-eap/jboss-eap-standalone.pid

现在,注释下面的行并重新加载守护进程:

代码语言:javascript
运行
复制
#PIDFile=/var/run/jboss-eap/jboss-eap-standalone.pid
systemctl daemon-reload

那就开始jboss服务吧。

代码语言:javascript
运行
复制
systemctl start jbosseap7
票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/449075

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档