Elasticsearch Restore失灵
2016-04-13 01:13
381 查看
最近,在备份Elasticsearch集群上发现其snapshot的restore功能失灵了,一直无法restore主集群的snapshot,每次都在调用创建repository API的时候失败。GET ~/_snapshot API返回如下的内容。而通过Azure
Explorer检查相应的Azure Storage Account,snapshot-0401-72d8早已经被清除了。
{
"auto-restore-repo" : {
"type" : "azure",
"settings" : {
"container" : "snapshot-0401-72d8",
"location_mode" : "secondary_only",
"compress" : "true",
"account" : "elasticsearch"
}
}
}
进一步检查Elasticsearch的日志,发现了下面相关错误信息:
[2016-04-12 00:02:29,526][DEBUG][cluster.service ] [ESNode-IN_0] processing [putsitory [auto-restore-repo]]: execute
[2016-04-12 00:02:29,526][WARN ][repositories ] [ESNode-IN_0] failed to create repository [auto-restore-repo]
org.elasticsearch.ElasticsearchIllegalStateException: trying to modify or unregister repository that is currently used
at org.elasticsearch.repositories.RepositoriesService.ensureRepositoryNotInUse(RepositoriesService.java:420)
at org.elasticsearch.repositories.RepositoriesService.access$000(RepositoriesService.java:55)
at org.elasticsearch.repositories.RepositoriesService$1.execute(RepositoriesService.java:108)
at org.elasticsearch.cluster.service.InternalClusterService$UpdateTask.run(InternalClusterService.java:374)
at org.elasticsearch.common.util.concurrent.PrioritizedEsThreadPoolExecutor$TieBreakingPrioritizedRunnable.runAndClean(PrioritizedEsThreadPoolExecutor.java:204)
at org.elasticsearch.common.util.concurrent.PrioritizedEsThreadPoolExecutor$TieBreakingPrioritizedRunnable.run(PrioritizedEsThreadPoolExecutor.java:167)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
感觉是在什么地方卡住了,尝试删除auto-restore-repo并没有成功,重启了所有master节点也没有解决问题。最后,只好重启了整个集群才解决了这个问题。我们所用的版本是 1.7.2,在问题发生之前,Azure曾经对我们集群进行了日常update升级维护,很有可能就是这次维护的时候造成了restore操作卡住了,一直无法自动恢复。
Explorer检查相应的Azure Storage Account,snapshot-0401-72d8早已经被清除了。
{
"auto-restore-repo" : {
"type" : "azure",
"settings" : {
"container" : "snapshot-0401-72d8",
"location_mode" : "secondary_only",
"compress" : "true",
"account" : "elasticsearch"
}
}
}
进一步检查Elasticsearch的日志,发现了下面相关错误信息:
[2016-04-12 00:02:29,526][DEBUG][cluster.service ] [ESNode-IN_0] processing [putsitory [auto-restore-repo]]: execute
[2016-04-12 00:02:29,526][WARN ][repositories ] [ESNode-IN_0] failed to create repository [auto-restore-repo]
org.elasticsearch.ElasticsearchIllegalStateException: trying to modify or unregister repository that is currently used
at org.elasticsearch.repositories.RepositoriesService.ensureRepositoryNotInUse(RepositoriesService.java:420)
at org.elasticsearch.repositories.RepositoriesService.access$000(RepositoriesService.java:55)
at org.elasticsearch.repositories.RepositoriesService$1.execute(RepositoriesService.java:108)
at org.elasticsearch.cluster.service.InternalClusterService$UpdateTask.run(InternalClusterService.java:374)
at org.elasticsearch.common.util.concurrent.PrioritizedEsThreadPoolExecutor$TieBreakingPrioritizedRunnable.runAndClean(PrioritizedEsThreadPoolExecutor.java:204)
at org.elasticsearch.common.util.concurrent.PrioritizedEsThreadPoolExecutor$TieBreakingPrioritizedRunnable.run(PrioritizedEsThreadPoolExecutor.java:167)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
感觉是在什么地方卡住了,尝试删除auto-restore-repo并没有成功,重启了所有master节点也没有解决问题。最后,只好重启了整个集群才解决了这个问题。我们所用的版本是 1.7.2,在问题发生之前,Azure曾经对我们集群进行了日常update升级维护,很有可能就是这次维护的时候造成了restore操作卡住了,一直无法自动恢复。
相关文章推荐
- 初识C++之虚函数
- ServletContextListener的用法
- supervisor 笔记
- web day4 javascript&DOM
- ie11浏览器访问javaWeb页面 提示 Audio未定义
- 我的创业经历
- c++作业3
- Android中Bitmap,byte[],Drawable相互转化
- C++引用
- codevs 1047 邮票面值设计
- 第一篇代码 嗨翻C语言 21点扑克
- [LeetCode]31. Next Permutation
- 国际版firefox安装方法
- css悬浮右侧悬浮
- 关于数据表多对多关联的理解
- [JAVA]String与InputStream互转-20160412
- hello
- 超声、超声心动图和多普勒基础入门(一)
- PLC梯形图编程练习
- ViewPager(二)——滑动监听器OnPageChangeListener