ES集群节点下线,Java API TCP连接写入数据异常

ES集群周六的时候因一个节点硬盘故障(新加入的三个节点,硬盘是比较新的产品出现了BUG),运维做了下线处理
按说一个6节点的ES集群,只是下线了一个节点,不应该会有特别大的影响(少了一个节点,分片少了一个写数少1/6左右的时间属于正常范围)
但是出现了线上跑数任务只要跟写ES有关系的时间都翻了好几倍,整个流程慢了9H
图一是正常的情况 图二是异常情况
图一
图二
15m 34s -> 55m 0s ↑ 40min
9m 31s -> 2h 3m 36s ↑ 114min
5m 59s -> 36m 11s ↑ 31min
59m 24s -> 2h 39m 27s ↑ 158min

通过小米监控发现其中某一台的负载比其它的都高
在这里插入图片描述
于是XX同事分析是因为之前6台节点时设置的默认分片数为6个
现在只剩5台节点,其中一台节点要被分配两个主分片以及两台节点会被分配到3个分片or副本
于是他把默认默认分片改为5个

但是我认为即便是五个节点有6个分片对于我们这个集群来说也不应该造成这么大的压力
并且除此之外集群的TCP连接数也比较异常
其中旧的三台连接数比正常的时候多了一倍,第五台连接数差不多

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要使用Elasticsearch的Java API连接Elasticsearch集群,需要添加以下三个依赖:org.elasticsearch.client.elasticsearch-rest-high-level-client、org.elasticsearch.client:elasticsearch-rest-client、org.elasticsearch:elasticsearch。这些依赖可以通过Maven或Gradle添加到项目中。接下来,可以使用Elasticsearch的Java API编写代码来连接Elasticsearch集群。具体步骤如下: 1. 创建RestHighLevelClient对象,该对象是与Elasticsearch集群进行通信的主要入口点。 2. 创建IndexRequest对象,该对象表示要索引的文档。 3. 使用IndexRequest对象设置索引名称、文档类型和文档ID等信息。 4. 使用IndexRequest对象设置要索引的文档内容。 5. 使用RestHighLevelClient对象执行IndexRequest对象,将文档索引到Elasticsearch集群中。 下面是一个示例代码,用于将文档索引到Elasticsearch集群中: ```java import org.elasticsearch.action.index.IndexRequest; import org.elasticsearch.action.index.IndexResponse; import org.elasticsearch.client.RequestOptions; import org.elasticsearch.client.RestHighLevelClient; import org.elasticsearch.common.xcontent.XContentType; import org.elasticsearch.index.IndexNotFoundException; import org.elasticsearch.rest.RestStatus; import java.io.IOException; public class ElasticsearchExample { private RestHighLevelClient client; public ElasticsearchExample(RestHighLevelClient client) { this.client = client; } public void indexDocument(String index, String type, String id, String json) throws IOException { IndexRequest request = new IndexRequest(index, type, id); request.source(json, XContentType.JSON); IndexResponse response = client.index(request, RequestOptions.DEFAULT); if (response.status() == RestStatus.CREATED) { System.out.println("Document indexed successfully"); } else { System.out.println("Failed to index document"); } } public static void main(String[] args) throws IOException { RestHighLevelClient client = new RestHighLevelClient(/* Elasticsearch连接配置 */); ElasticsearchExample example = new ElasticsearchExample(client); example.indexDocument("my_index", "my_type", "1", "{\"name\":\"John Doe\",\"age\":25}"); client.close(); } }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值