ElasticSearch跨集群查询-构建千亿级日志分析系统

本文探讨了ElasticSearch的跨集群查询功能,适用于分布式系统和微服务架构中的日志分析。通过配置远程集群,实现不同模块日志的独立存储和查询。文章提到了权限设置和网络延迟控制策略,包括默认的最小化网络往返和非最小化网络往返的优缺点。同时,警告避免使用滚动和内联查询以减轻协调节点的压力。最后,建议读者参考ElasticSearch的官方文档和中文社区资源进行深入学习。
摘要由CSDN通过智能技术生成

ElasticSearch集群可以处理上PB的数据,集群规模可以成百上千,但要驾驭这么大规模的集群前我们需要对ElasticSearch足够了解,即便使用目前流行的云服务我们也要对ElasticSearch有一定的研究,才能更好的满足我们的业务。本篇主要讲跨集群查询。

1、跨集群查询

跨集群查询允许你的请求查询多个集群的数据,这个特性帮助我们更好的设计我们的架构。

分布式系统或微服务里将系统分为多个模块,模块A由一个团队,模块B由一个团队负责,模块C由一个团队负责,通常各个模块只查询各自的日志,但有些问题涉及多个模块时会查到多个模块的日志,这时跨集群查询刚好可以解决这类问题,对架构来说我们将模块A、模块B、模块C的日志存储在单独的集群里。

这样可以避免集群之间相互的干扰,模块A的日志量大只会影响集群A的写入,做到分而治之。

远程集群配置:

如下命令配置三个远程集群,”cluster_one“、”cluster_two“、”cluster_three“,在Kibana配置的默认集群上执行如下命令,执行后可在Kibana配置访问这些集群的数据。

PUT _cluster/settings
	{
	  "persistent": {
		"cluster": {
		  "remote": {
			"cluster_one": {
			  "seeds": [
				"127.0.0.1:9300"
			  ]
			},
			"cluster_two": {
			  "seeds": [
				"127.0.0.1:9301"
			  ]
			},
			"cluster_three": {
			  "seeds": [
				"127.0.0.1:9302"
			  ]
			}
		  }
		}
	  }
	}	

2、权限与网关设置

需要注意的是,三个集群之间的权限要打通,否则会出现拒绝访问的情况,Kibana配置的用户名在三个集群件要有同样的权限。远程群集连接通过配置远程群集并仅连接到该远程群集中有限数量的节点来工作。

每个远程集群都由一个名称和一个种子节点列表引用。注册远程群集时,将从其中一个种子节点检索其群集状态,并选择最多三个网关节点作为远程群集请求的一部分进行连接。

可以手动设置网关节点:

cluster.remote.node.attr.gateway: true

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值