Elasticsearch运维实战常用命令有哪些

技术Elasticsearch运维实战常用命令有哪些今天就跟大家聊聊有关Elasticsearch运维实战常用命令有哪些,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收

今天跟大家聊聊Elasticsearch运维常用的命令,可能很多人都不太懂。为了让大家更好的了解,边肖为大家总结了以下内容,希望大家能从这篇文章中有所收获。

00-101010

1、集群状态非绿排查清单

红色:至少有一个主片分配不成功;黄色:至少有一个副本切片未成功分配;绿色:所有主副本已成功分配。

1.1 集群状态的含义

1.2 排查实战

GET _ cluster/health

返回状态示例:“状态”:“红色”,红色,至少一个主存储片未成功分配。

1.2.1 查看集群状态

GET_cluster/health?级别=指数

下面的方式,比较活泼直接。

GET/_ cat/indexs?vhealth=黄色

GET/_ cat/indexs?vhealth=红色

找到相应的索引。

1.2.2 到底哪个节点出现了红色或者黄色问题呢?

GET_cluster/health?级别=碎片

1.2.3 到底索引的哪个分片出现了红色或者黄色问题呢?

GET _ cluster/分配/解释

回到核心信息解释的例子:

当前状态' : '未分配',——未分配

unassigned_info':{

原因' :' index _ created ',——原因,索引创建阶段

地址为' : ' 2020-01-29t 07:32:39.041 z ',

last_allocation_status': '否'

},

解释' : ' ' '节点不匹配索引设置[index . routing . allocation . require]筛选器[box_type:'hot']' ' '

}

根本原因,碎片碎片与节点过滤类型不一致。当我们找到根本原因时,我们就知道了相应的解决方案。

00-1010实战:

GET _ cat/碎片?h=索引、碎片、优先级、状态、未分配。原因

官方网站:https://www.elastic.co/guide/en/elastic搜索/参考/7.2/cat-shards.html

未分配状态和原因说明:

(1)INDEX_CREATED

取消分配一个简单的索引。

(2)CL

USTER_RECOVERED
Unassigned as a result of a full cluster recovery.
(3)INDEX_REOPENED
Unassigned as a result of opening a closed index.
(4)DANGLING_INDEX_IMPORTED
Unassigned as a result of importing a dangling index.
(5)NEW_INDEX_RESTORED
Unassigned as a result of restoring into a new index.
(6)EXISTING_INDEX_RESTORED
Unassigned as a result of restoring into a closed index.
(7)REPLICA_ADDED
Unassigned as a result of explicit addition of a replica.
(8)ALLOCATION_FAILED
Unassigned as a result of a failed allocation of the shard.
(9)NODE_LEFT
Unassigned as a result of the node hosting it leaving the cluster.
(10)REROUTE_CANCELLED
Unassigned as a result of explicit cancel reroute command.
(11)REINITIALIZED
When a shard moves from started back to initializing, for example, with shadow replicas.
(12)REALLOCATED_REPLICA
A better replica location is identified and causes the existing replica allocation to be cancelled.

 
 

2、节点间分片移动

适用场景:手动移动分配分片。将启动的分片从一个节点移动到另一节点。

POST /_cluster/reroute
{
  "commands": [
    {
      "move": {
        "index": "indexname",
        "shard": 1,
        "from_node": "nodename",
        "to_node": "nodename"
      }
    }
  ]

 
 

3、集群节点优雅下线

适用场景:保证集群颜色绿色的前提下,将某个节点优雅下线。

PUT /_cluster/settings
{
  "transient": {
    "cluster.routing.allocation.exclude._ip": "122.5.3.55"
  }
}

 
 

4、强制刷新

适用场景:刷新索引是确保当前仅存储在事务日志中的所有数据也永久存储在Lucene索引中。

POST /_flush

 

注意:这和 7.6 版本之前的同步刷新(未来8版本+会废弃同步刷新)一致。

POST /_flush/synced

 
 

5、更改并发分片的数量以平衡集群

适用场景:

控制在集群范围内允许多少并发分片重新平衡。默认值为2。

PUT /_cluster/settings
{
  "transient": {
    "cluster.routing.allocation.cluster_concurrent_rebalance": 2
  }
}

 
 

6、更改每个节点同时恢复的分片数量

适用场景:

如果节点已从集群断开连接,则其所有分片将都变为未分配状态。经过一定的延迟后,分片将分配到其他位置。每个节点要恢复的并发分片数由该设置确定。

PUT /_cluster/settings
{
  "transient": {
    "cluster.routing.allocation.node_concurrent_recoveries": 6
  }
}

 
 

7、调整恢复速度

适用场景:

为了避免集群过载,Elasticsearch限制了分配给恢复的速度。你可以仔细更改该设置,以使其恢复更快。

如果此值调的太高,则正在进行的恢复可能会消耗过多的带宽和其他资源,这可能会使集群不稳定。

PUT /_cluster/settings
{
  "transient": {
    "indices.recovery.max_bytes_per_sec": "80mb"
  }
}

 
 

8、清除节点上的缓存

适用场景:如果节点达到较高的JVM值,则可以在节点级别上调用该API 以使 Elasticsearch 清理缓存。

这会降低性能,但可以使你摆脱OOM(内存不足)的困扰。

POST /_cache/clear

 
 

9、调整断路器

适用场景:为了避免在Elasticsearch中进入OOM,可以调整断路器上的设置。这将限制搜索内存,并丢弃所有估计消耗比所需级别更多的内存的搜索。

注意:这是一个非常精密的设置,你需要仔细校准。

PUT /_cluster/settings
{
  "persistent": {
    "indices.breaker.total.limit": "40%"
  }
}

 
 

10、集群迁移

适用场景:集群数据迁移、索引数据迁移等。

 

方案一、 针对索引部分或者全部数据,reindex

Elasticsearch运维实战常用命令有哪些

POST _reindex
{
  "source": {
    "index": "my-index-000001"
  },
  "dest": {
    "index": "my-new-index-000001"
  }
}

 
 

方案二:借助第三方工具迁移索引或者集群

  • elasticdump
  • elasticsearch-migration

工具本质:scroll + bulk 实现。

 

11、集群数据备份和恢复

适用场景:高可用业务场景,定期增量、全量数据备份,以备应急不时之需。

PUT /_snapshot/my_backup/snapshot_hamlet_index?wait_for_completion=true
{
  "indices": "hamlet_*",
  "ignore_unavailable": true,
  "include_global_state": false,
  "metadata": {
    "taken_by": "mingyi",
    "taken_because": "backup before upgrading"
  }
}

POST /_snapshot/my_backup/snapshot_hamlet_index/_restore

 
 

看完上述内容,你们对Elasticsearch运维实战常用命令有哪些有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/84024.html

(0)

相关推荐

  • 有哪些写Python程序的建议

    技术有哪些写Python程序的建议这篇文章主要介绍“有哪些写Python程序的建议”,在日常操作中,相信很多人在有哪些写Python程序的建议问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”

    攻略 2021年11月2日
  • 怎么正确认识C语言在当今编程领域的地位

    技术怎么正确认识C语言在当今编程领域的地位这篇文章主要讲解了“怎么正确认识C语言在当今编程领域的地位”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么正确认识C语言在当今

    攻略 2021年10月20日
  • Linux前台的程序如何转到后台执行并且关闭终端而不杀死命令

    技术Linux前台的程序如何转到后台执行并且关闭终端而不杀死命令这篇文章给大家介绍Linux前台的程序如何转到后台执行并且关闭终端而不杀死命令,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。过SSH或

    攻略 2021年10月21日
  • 早餐的重要性,每天吃早餐对健康有什么意义

    技术早餐的重要性,每天吃早餐对健康有什么意义谢邀请早餐的重要性!吃早餐对人的健康是非常重要的。早餐不仅要吃,而且还要吃的好,吃的有营养。人经过晚饭后十几个小时的能量消耗,所剩的热能几乎没有了,若早饭不能及时补充,会直接影

    生活 2021年10月22日
  • 有理数100道带答案过程,求100道有理数混合计算,七上)

    技术有理数100道带答案过程,求100道有理数混合计算,七上)-2/9-7/9-56 4。6-(-3/4 1。6-4-3/4) 1/2 3 5/6-7/12 [2/3-4-1/4 (-0。4)]/1/3 2 22 (-4

    生活 2021年10月23日
  • 使用Vue写一个登录页面

    技术使用Vue写一个登录页面 使用Vue写一个登录页面使用Vue写一个登录页面上一博客讲到构建了一个vue项目,现在在那个项目之上实现一个登录页面。
    1.构建项目的目录2.App.vuetemplate

    礼包 2021年10月27日