gpt4 book ai didi

java - mod_jk1.2.32 的 JK Status Manager(status worker) 没有在 Web 界面上显示正确的 worker 状态

转载 作者:行者123 更新时间:2023-11-28 23:31:37 29 4
gpt4 key购买 nike

我的应用程序使用 Apachemod-jkTomcat 进行负载平衡,这与此 work.properties 配合得很好:

worker.list=workerlist
# Set properties for worker3
worker.worker3.type=ajp13
worker.worker3.host=xxxx
worker.worker3.port=xx
worker.worker3.lbfactor=4
worker.worker4.ping_mode=A
worker.worker3.socket_timeout=30
worker.worker3.reply_timeout=30000

# Set properties for worker4
worker.worker4.type=ajp13
worker.worker4.host=xxxx
worker.worker4.port=xx
worker.worker4.lbfactor=4
worker.worker4.ping_mode=A
worker.worker4.socket_timeout=30
worker.worker4.reply_timeout=30000

# Set properties for workerlist(lb)
worker.workerlist.type=lb
worker.workerlist.balance_workers=worker4,worker3
worker.workerlist.sticky_session=1

worker.list=jkstatus
worker.jkstatus.type=status

当我关闭 worker4(Tomcat) 时,JK Status Manager( http://apachehost/jkstatus ) 的 Web 界面仍然显示 worker4 处于 ACTOK/IDLE 状态,这没有意义,因为 worker4 不再可用。而且我在 mod-jk.log 中没有看到任何错误消息。 enter image description here

但是,当我将 worker.properties 更改为只有不可用的 worker4 并再次尝试访问时,页面显示 ERR Satte : enter image description here

mod-jk.log 显示:

[error] ajp_service::jk_ajp_common.c (2626): (worker4) connecting to tomcat failed.
[info] service::jk_lb_worker.c (1400): service failed, worker worker4 is in error state
[info] service::jk_lb_worker.c (1480): All tomcat instances are busy or in error state
[error] service::jk_lb_worker.c (1485): All tomcat instances failed, no more workers left

我的问题是:

  • 根据 Service Availablity Rating在 Tomcat 的网站上,它说“OK(空闲):自上次平衡器维护以来,该工作人员没有收到任何请求。默认情况下,平衡器维护每 60 秒运行一次。工作人员应该没问题,但因为我们没有必须使用一段时间,我们无法确定。此状态在 1.2.24 版本之前已称为 N/A。”。据我了解,mod-jk 本身会自动保持连接。那么,为什么 JK Status Manager 不在其中一名工作人员宕机时向我发出警报?维护不工作或 JK Status Manager 网站无法正常工作?

  • 除了JK Status Manager,还有其他方式可以实时监控worker的状态吗?我的意思是,如果一台服务器出现故障,我想立即知道。

  • ping_mode 是否必须明确设置?默认为“A”吗?日志说:[warn] jk_map_handle_duplicates::jk_map.c (446):检测到重复键 'worker.worker4.ping_mode' - 先前的值 'A' 将被 'A' 覆盖。

    <

最佳答案

1) 如果一个 Tomcat worker 失败,则在下一次检查平衡器之前什么都不会发生。因此显示 OK/Idle。 60 秒后应变为 Err 状态。

2) 当然还有其他工具,该页面只是一个信息而不是表单管理。最简单的方法是设置一个响应 HTTP_200 状态的 servlet。您可以从外部程序检查其可用性,即使用 URL 对象。

3) 显示该消息,因为您在第 7 行的配置中有错字(worker4 而不是 worker3):

worker.worker4.ping_mode=A

关于java - mod_jk1.2.32 的 JK Status Manager(status worker) 没有在 Web 界面上显示正确的 worker 状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29641090/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com