文档章节

elk6.2.3集群重启和red状态恢复

o
 osc_odyg6b92
发布于 2018/07/13 14:45
字数 472
阅读 8
收藏 0

行业解决方案、产品招募中!想赚钱就来传!>>>

###1、修改配置文件 修改elasticsearch.yml中path.data属性,添加多路径以逗号分隔

path.data : /opt/data1,/opt/data2 ###2、查看集群状态 curl -XGET "http://127.0.0.1:9200/_cat/indices" curl -XGET "http://127.0.0.1:9200/_cat/nodes" curl -XGET "http://127.0.0.1:9200/_cat/health" ###3、关闭索引自动平衡 curl -XPUT -H 'Content-Type: application/json' "http://127.0.0.1:9200/_cluster/settings" -d' { "transient" : { "cluster.routing.allocation.enable" : "none" } }' ###4、节点重启 ###5、开启索引自动平衡 curl -XPUT -H 'Content-Type: application/json' "http://127.0.0.1:9200/_cluster/settings" -d' { "transient" : { "cluster.routing.allocation.enable" : "all" } }' ###6、遇到的问题 有一个索引的某个分片一直处理UNASSIGNED状态,需进行手动分配。

curl -XGET -H 'Content-Type: application/json' 'http://127.0.0.1:9200/_cat/shards' | grep UNASSIGNED #查看未分配的索引分片 curl -XGET -H 'Content-Type: application/json' "http://127.0.0.1:9200/_cat/shards/index?v" #查看索引分片

使用reroute接口进行分配。 reroute 接口支持五种指令:allocate_replica, allocate_stale_primary, allocate_empty_primary,move 和 cancel。 常用的一般是 allocate 和 move,allocate_* 指令。 因为负载过高等原因,有时候个别分片可能长期处于 UNASSIGNED 状态,我们就可以手动分配分片到指定节点上。默认情况下只允许手动分配副本分片(即使用 allocate_replica),所以如果要分配主分片,需要单独加一个 accept_data_loss 选项

###7、分配主分片

curl -XPOST -H 'Content-Type: application/json' "http://127.0.0.1:9200/_cluster/reroute" -d '{ "commands" : [ { "allocate_stale_primary" : { "index" : "index", "shard" : 4, "node" : "node56", "accept_data_loss" : true } } ] }'

以上不行的话:方法二

cat recover.sh
#!/bin/bash

master=$(curl -s 'http://localhost:9200/_cat/master?v' | grep -v ' ip ' | awk '{print $1}')
for index in $(curl  -s 'http://localhost:9200/_cat/shards' | grep UNASSIGNED | awk '{print $1}' | sort | uniq); do
    for shard in $(curl  -s 'http://localhost:9200/_cat/shards' | grep UNASSIGNED | grep $index | awk '{print $2}' | sort | uniq); do
        echo  $index $shard

      curl -XPOST -H 'Content-Type: application/json'  'http://localhost:9200/_cluster/reroute' -d '{
            "commands" : [ {
                  "allocate_empty_primary" : {
                      "index" : "'$index'",
                      "shard" : "'$shard'",
                      "node" : "'$master'",
	              "accept_data_loss" : true
                  }
                }
            ]
        }'

        sleep 1
    done
done

###8、分配副分片

curl -XPOST -H 'Content-Type: application/json' "http://127.0.0.1:9200/_cluster/reroute" -d '{ "commands" : [ { "allocate_replica" : { "index" : "index", "shard" : 4, "node" : "node56" } } ] }'

###9、kibana进和查询命令

fuser -n tcp 5601

上一篇: tar 增量打包
下一篇: jquery 60s倒计时
o
粉丝 1
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。
Swift百万线程攻破单例(Singleton)模式

一、不安全的单例实现 在上一篇文章我们给出了单例的设计模式,直接给出了线程安全的实现方法。单例的实现有多种方法,如下面: class SwiftSingleton { } 这段代码的实现,在shared中进行条...

一叶博客
2014/06/20
3.3K
16
树莓派(Raspberry Pi):完美的家用服务器

自从树莓派发布后,所有在互联网上的网站为此激动人心的设备提供了很多有趣和具有挑战性的使用方法。虽然这些想法都很棒,但树莓派( RPi )最明显却又是最不吸引人的用处是:创建你的完美家用...

异次元
2013/11/09
5.4K
8
NSSplitView 扩展--DMSplitView

DMSplitView 对标准的 OS X 的 NSSplitView 控件进行改造,可满足更复杂的要求: 子视图的大小和约束 分隔条位置 可收缩伸展的子视图 动画变换效果 可控制分隔条的粗细和样式 可保存和恢复分...

匿名
2013/01/24
358
0
集群存储系统--YFS

YFS集群存储系统由多个元数据服务器(MDS)、多个块数据服务器(CDS)和多个客户端(client)互联组成集群; 数据被分成64M固定大小的数据块(Chunk),每个数据块在CDS本地以常规文件的形式...

匿名
2013/02/19
1.7K
0
工作流管理系统--Pegasus WMS

Pegasus (飞马座)工作流管理系统包括一套技术标准工作流程应用程序中执行帮助许多不同的环境中,包括桌面、校园集群、网格、云。它弥补了科学领域和执行环境通过自 动映射到分布式资源的高层工...

匿名
2013/02/24
5.2K
0

没有更多内容

加载失败,请刷新页面

加载更多

如何使用pip升级所有Python软件包? - How to upgrade all Python packages with pip?

问题: Is it possible to upgrade all Python packages at one time with pip ? 是否可以通过pip一次升级所有Python软件包? Note : that there is a feature request for this on the off......

法国红酒甜
7分钟前
0
0
活体检测+合成图鉴别面前,人脸“照片活化”黑产攻击一秒被擒

本文作者:y****n 如今,随着人脸技术的日趋成熟,新兴娱乐文化得到了极大的推动,尤其是随着 DeepFake、FaceSwap 等人脸编辑及生成技术的发展,虚拟主播、人脸合成带给人们全新的体验,但同...

百度开发者中心
昨天
0
0
如何在SQL Server中将多行文本合并为单个文本字符串?

问题: Consider a database table holding names, with three rows: 考虑一个包含名称的数据库表,该表具有三行: PeterPaulMary Is there an easy way to turn this into a single str......

富含淀粉
37分钟前
9
0
在JavaScript中生成特定范围内的随机整数? - Generating random whole numbers in JavaScript in a specific range?

问题: 如何可以生成两个指定的变量之间的随机整数在JavaScript中,例如x = 4和y = 8将输出任何的4, 5, 6, 7, 8 ? 解决方案: 参考一: https://stackoom.com/question/6PRz/在JavaScript中...

fyin1314
今天
8
0
Vim清除最后一个搜索突出显示 - Vim clear last search highlighting

问题: Want to improve this post? 想要改善这篇文章吗? Provide detailed answers to this question, including citations and an explanation of why your answer is correct. 提供此问题......

技术盛宴
今天
23
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部