官方文档-分片分配和集群路由

官方文档-分片分配和集群路由,第1张

对应72官方文档路径:Modules » Shard allocation and cluster-level routing
官方地址如下:
>

由于服务器磁盘满了,所有服务未能正常运行,检查了一下es,发现有个索引以出现警告,显示有两个分片未被分配。
通过命令 systemctl status elasticsearch 查看es运行状态,看到以下异常:

网上搜到很多解决方法是调用一下接口,但仍然无法解决。

后来在 亚马逊 上找到了解决方案,以下是 *** 作步骤:

由于节点或网络故障,您的 Elasticsearch 群集会进入状态。如果集群中的节点因内部硬件问题出现故障,则现有节点将被新节点替换。此替换是 Amazon ES 的自动检测功能。但是,在某些情况下,故障节点中的副本分片尚未分配。如果先前使用的资源尚未释放,则副本分片将保留未分配状态。在此期间,领导节点进行了五次分配副本分片尝试。如果领导节点的五次分配副本分片尝试都失败,则您的集群将进入红色或运行状态。
要识别哪些索引导致集群进入状态,请使用以下查询:

然后,使用以下查询来识别集群未分配分片的根本原因:

要使 Elasticsearch 集群恢复到绿色状态,请增加每个索引的最大重试次数:

运行此 API 调用时,领导节点将重试您的集群上指定索引的分片分配。

注意: 当您增加最大重试设置时,分片不会总是自动分配。您可能需要手动分配分片。

重要提示: 如果 Elasticsearch 集群负载高,请不要使用此方法。从索引中删除所有副本时,索引必须且仅能依赖于主分片。如果节点出现故障,您的集群则可能因为主分片尚未分配而进入 红色群集状态 。

要更改副本数量,请执行以下步骤:

为了测量一个 DNS 服务器的放大性能,使用dig命令向能够放大的 DNS 服务器请求某个具有大量回复的域名的 ANY 资源,并利用 tcpdump 进行捕包。
dig @xxxx xxxgov ANY
tcpdump -i interface -n -vv '(udp) and (port 53) and (host xxxx)'

实验过程如下:
dig @xxxx xxxgov ANY +bufsize=1024
dig @xxxx xxxgov ANY +bufsize=8192
"+bufsize=xxxx"是把请求包的 OPT 资源 UDP payload size 修改成xxxx,DNS 请求包证实可以修改,如下图所示:
但是从收到的回复包来看不管设置成1024还是8196,服务器仍然按照4096进行截断。也就是说这个UDP负载大小限制是在服务器端设置的,和客户端发送的请求包中 OPT 记录设置没有关系。

控制Elasticsearch分片和副本的分配

生产情景:比如生产环境有三个索引分别为 man、woman、katoey希望达到的效果: man索引放置在一些集群节点上 woman索引又单独放置到集群的另外一些集群节点上 katoey索引希望放置在所有放置man索引和woman索引的集群节点上 这么做是因为katoey索引比其他两个索引小很多,因此我们可以将它和其他两个索引一起分配。但是基于ES默认算法的处理方法,我们不能确定分片和副本的存放位置,但是ES允许我们对其做相应的控制!

1、指定节点的参数

索引创建 当所有节点配置文件属性配置完成后,我们就可以根据空间名称,我们就可以创建索引放到指定的空间。 首先我们运行如下命令,来创建man索引:# curl -XPOST " >

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/13419569.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-08-01
下一篇 2023-08-01

发表评论

登录后才能评论

评论列表(0条)

保存