0

我想创建一个健康检查机制,以确保我删除了在负载均衡器后面配置的不健康的 Knox 实例。

对底层实例的正常 ping 将有助于检查机器是否可访问。但这无助于确定网关是否健康/正在运行以向该实例提供传入请求。

我可以通过 LB 向 Knox 发出请求,但它只会转到一个实例并且无法知道它。

我想知道是否有任何方法可以确定相同的?还是 Knox 本身提供了一种机制,尽管我可以对网关服务器进行 http(非安全,因为不允许直接 https 调用实例)调用并确定?

谢谢!!

4

2 回答 2

0

我不知道您的负载均衡器是如何配置的,但您可以尝试knox_host:knox_port直接 ping,这至少会告诉您 knox 是否已启动并正在运行(并正在侦听)。

如果您想知道 Knox 是否健康(特别是您的拓扑),那么您可以尝试定期发出测试请求并查找响应代码 200。

例如

curl -i -u guest:guest-password -X GET \
    'http://<direct-knox>:8443/gateway/sandbox/webhdfs/v1/?op=LISTSTATUS' 

希望有帮助!

于 2016-10-05T20:05:46.647 回答
0

我不确定您使用的是哪个负载均衡器。从“健康检查”中,我假设您使用的是弹性负载均衡器。

使用tcp 协议创建健康检查。它只会检查这些端口是否打开。如果 knox 没有运行,这些实例将停止服务,传入的请求将被重定向到正在服务的实例。

PFB 的屏幕截图相同。 在此处输入图像描述 在此处输入图像描述 在此处输入图像描述

于 2016-12-16T12:28:55.933 回答