聊城网站建设:推广聊城博达,创可贴app海报制作网站,珠海企业网站建设费用,服务器什么建网站最近有小伙伴找到我们说 Kibana 上添加不了 Remote Cluster#xff0c;填完信息点 Save 直接跳回原界面了。具体页面#xff0c;就和没添加前一样。 我们和小伙伴虽然隔着网线但还是进行了深入、详细的交流#xff0c;梳理出来了如下信息#xff1a;
两个集群#xff1a;…最近有小伙伴找到我们说 Kibana 上添加不了 Remote Cluster填完信息点 Save 直接跳回原界面了。具体页面就和没添加前一样。 我们和小伙伴虽然隔着网线但还是进行了深入、详细的交流梳理出来了如下信息
两个集群集群 A 和集群 B 版本都是 7.10.0 集群 A 没区分节点角色集群 B 设置了 独立的 master 节点、coordinator 节点和 data 节点其中 data 节点还带 remote_cluster_client 角色 在集群 A 的 Kibana 可以添加 集群 B 为远程集群在集群 B 添加 集群 A 就不行Kibana 跳回之前的页面网络组确认已经放开策略网络测试也正常
翻看了 ES 和 Kibana 的日志 ES 日志中有连接失败的错误信息 Kibana 日志中无对应输出。
[2023-09-13T11:38:41,055][INFO ][o.e.c.s.ClusterSettings ] [710-1] updating [cluster.remote.test.mode] from [SNIFF] to [sniff]
[2023-09-13T11:38:41,055][INFO ][o.e.c.s.ClusterSettings ] [710-1] updating [cluster.remote.test.seeds] from [[]] to [[127.0.0.1:7102]]
[2023-09-13T11:38:41,056][INFO ][o.e.c.s.ClusterSettings ] [710-1] updating [cluster.remote.test.mode] from [SNIFF] to [sniff]
[2023-09-13T11:38:41,056][INFO ][o.e.c.s.ClusterSettings ] [710-1] updating [cluster.remote.test.seeds] from [[]] to [[127.0.0.1:7102]]
[2023-09-13T11:38:41,057][INFO ][o.e.c.s.ClusterSettings ] [710-1] updating [cluster.remote.test.mode] from [SNIFF] to [sniff]
[2023-09-13T11:38:41,057][INFO ][o.e.c.s.ClusterSettings ] [710-1] updating [cluster.remote.test.seeds] from [[]] to [[127.0.0.1:7102]]
[2023-09-13T11:38:41,093][INFO ][o.e.c.s.ClusterSettings ] [710-1] updating [cluster.remote.test.mode] from [SNIFF] to [sniff]
[2023-09-13T11:38:41,094][INFO ][o.e.c.s.ClusterSettings ] [710-1] updating [cluster.remote.test.seeds] from [[]] to [[127.0.0.1:7102]]
[2023-09-13T11:38:41,094][INFO ][o.e.c.s.ClusterSettings ] [710-1] updating [cluster.remote.test.mode] from [SNIFF] to [sniff]
[2023-09-13T11:38:41,094][INFO ][o.e.c.s.ClusterSettings ] [710-1] updating [cluster.remote.test.seeds] from [[]] to [[127.0.0.1:7102]]
[2023-09-13T11:38:41,095][INFO ][o.e.c.s.ClusterSettings ] [710-1] updating [cluster.remote.test.mode] from [SNIFF] to [sniff]
[2023-09-13T11:38:41,096][INFO ][o.e.c.s.ClusterSettings ] [710-1] updating [cluster.remote.test.seeds] from [[]] to [[127.0.0.1:7102]]
[2023-09-13T11:38:51,099][WARN ][o.e.t.RemoteClusterService] [710-1] failed to connect to new remote cluster test within 10s
[2023-09-13T11:39:11,101][WARN ][o.e.t.SniffConnectionStrategy] [710-1] fetching nodes from external cluster [test] failed
org.elasticsearch.transport.ConnectTransportException: [][127.0.0.1:7102] handshake_timeout[30s]at org.elasticsearch.transport.TransportHandshaker.lambda$sendHandshake$1(TransportHandshaker.java:73) ~[elasticsearch-7.10.2.jar:7.10.2]at org.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingRunnable.run(ThreadContext.java:684) ~[elasticsearch-7.10.2.jar:7.10.2]at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130) [?:?]at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630) [?:?]at java.lang.Thread.run(Thread.java:832) [?:?]已经测试过网络是通的开始尝试把集群 B 的角色配置统统去掉再尝试。 嘿添加成功了。 接下来为了找出问题开始一步一步给每个节点再加回原来的角色。而且如果节点原来没有 remote_cluster_client 角色这次也一并加上。 操作过程
先从 data 节点开始恢复角色尝试添加远程集群失败。接着 coordinate 节点 恢复角色且新增 remote_cluster_client 角色尝试添加远程集群失败。最后 master 节点恢复角色且新增 remote_cluster_client 角色尝试添加远程集群成功。
最终直到所有节点都有 remote_cluster_client 角色后才成功添加远程集群。 结论 ES 集群添加远程集群所有节点都必须拥有 remote_cluster_client 角色。 事情到这里似乎没什么问题。但当我们对这个结论进行检验时又有了新发现。 上面的场景忽视了一个因素 – Kibana 。于是我们搭建了一个两个节点的集群其中节点 A 是全角色节点节点 B 只是 data 节点。让 Kibana 分别连接两个节点进行测试。 验证结果
当 Kibana 连接节点 A 时可以正常添加。Kibana 连接节点 B 时添加失败跳回界面。
结论ES 集群添加远程集群时Kibana 连接的 ES 节点必须拥有 remote_cluster_client 角色。 很显然这个结论更合理。
原因分析 我们是通过 Kibana 界面操作去添加远程集群的 Kibana 连接的节点就被当作 remote_client 。该节点要向远程集群发起连接并执行相关调用。但这一切有个前提该节点必须有 remote_cluster_client 角色才能向远程集群发起连接。 引申 我们的 CCS 操作也必须发送到一个具有 remote_cluster_client 角色的节点才能成功执行。
参考连接 https://www.elastic.co/guide/en/elasticsearch/reference/7.10/modules-node.html