Elasticsearch 之 慘痛部署(分片移位)
部署说明
硬件
server两台:
机器A:64G内存
机器B:32G内存
分片
共12个节点
2个查询节点。10个存储节点
8个主分片
1个复制分片(每一个分片都有一个副本分布在不同的节点上面)
每台机器都挂了6个机械盘每一个盘都是不同的分区。
部署环境用docker weave 来做 elasticsearch cluster
能够參考我的另外一篇博文:
http://blog.csdn.net/mrsunnycream/article/details/50921012
就这样环境默默的部署着。一切都非常顺利。
部署完毕后開始导入数据,导入一部分数据后(因为数据量比較大),就关机下班了。
大约有几十G左右。
第二点上班后要继续导入数据。开机,启动weave,启动Es 集群,
然后查看集群状态:red. 我想了下主分片不可用?不可能啊,是不是有的节点没有增加集群呢,然后查看weave 状态。两台机器都互相Ping一下 weave 转发的路由,一切都是通的,过了一会还是red,不淡定了,查看集群节点数量12个。对啊没错啊,怎么回事呢?然后又去看日志,没有报什么错误。如今真的開始不淡定了。
然后就用 _cat/shards,来查看究竟是哪个分片出问题了。
结果看到7号分片没有挂载到集群里面
出现这个问题感觉非常诡异啊,即使主分片找不到,副本也能顶上去啊。
这个问题发现越来越大了。我勒个乖乖。
每一个节点的数据都是挂载到不痛的机械盘上的也就是不同的分区上面的。
然后就一个一个分区的挨着找,然后查看分区数量也没错。进去分区中看看昨天传送数据的时候七号分片在那个盘上面。当找到第三个分区的时候发现 明明是两个节点的数据挂在这个分区上面怎么这个分区上面有五个节点的数据。哎開始头晕啊。没办法继续找原因吧,可是发现这个分区的两个节点中有七号分片,可是一点数据都没有,又看看其他的几个数据文件夹是正常的,然后紧跟着查看其他分区的情况发现第四个分区也是这种情况,感觉跟发生了灵异事件差点儿相同,命名配置的节点数据都在指定的分区上面(就是Docker挂在不通的文件夹以下),假设把第三个分区和第四分区的文件夹调换一下就应该是正确了。
可是也不能手动的移动文件夹吧,还得找问题出在什么地方吧。
我用了以下的办法
在每一个分区上面建立一个文件,文件名称字就和分区编号一样。紧接着我关机,再次又一次启动机器发现有的文件名称称和自己所在的分区编号不一致(当然经过多次关机和开机測试的)。
我勒个乖乖啊,如今大家可能想到问题的根源了啊。
原来是挂盘出现的问题,最后把原来的盘符名称改成UUID后问题就攻克了。
打开 /etc/fstab这个文件。把上面的/dev 开头的换成以下UUID开头的即可了
先在机器上面运行sudo blkid命令
然后依照相应关系进行替换,例如以下所看到的
stat and raid
/dev/sdb1 /opt/lucy1 ext4 defaults 0 0
/dev/sdc1 /opt/lucy2 ext4 defaults 0 0
/dev/sdd1 /opt/lucy3 ext4 defaults 0 0
/dev/sde1 /opt/lucy4 ext4 defaults 0 0
/dev/sdf1 /opt/raid ext4 defaults 0 0
UUID=aaaaa-aaa-aaaa-aaa-aaaa /opt/lucy1 ext4 defaults 0 0
UUID=bbbbb-bbb-bbbb-bbb-bbbb /opt/lucy2 ext4 defaults 0 0
UUID=ccccc-ccc-cccc-ccc-cccc /opt/lucy3 ext4 defaults 0 0
UUID=ddddd-ddd-dddd-ddd-dddd /opt/lucy4 ext4 defaults 0 0
/dev/sdf1 /opt/raid ext4 defaults 0 0
真是一个悲伤的故事!
。!
!
Elasticsearch 之 慘痛部署(分片移位)的更多相关文章
- elasticsearch+kibana+metricbeat安装部署方法
elasticsearch+kibana+metricbeat安装部署方法 本文是elasticsearch + kibana + metricbeat,没有涉及到logstash部分.通过beat收 ...
- Elasticsearch介绍及安装部署
本节内容: Elasticsearch介绍 Elasticsearch集群安装部署 Elasticsearch优化 安装插件:中文分词器ik 一.Elasticsearch介绍 Elasticsear ...
- mongodb 集群部署--分片服务器搭建
部署分片服务器 1.分片 为了突破单点数据库服务器的I/O能力限制,对数据库存储进行水平扩展,严格地说,每一个服务器或者实例或者复制集就是一个分片. 2.优势 提供类似现行增·长架构 提高数据可用性 ...
- ELK教程1:ElasticSearch集群的部署ELK
在分布式系统中,应用数量众多,应用调用链复杂,常常使用ELK作为日志收集.分析和展示的组件.本篇文章将讲讲解如何部署ELK,然后讲解如何使用Filebeat采集Spring Boot的日志输出到Log ...
- 【分片无法挂载】Elasticsearch分片和副本无法挂载(分片移位)
部署说明 硬件 服务器两台: 机器A:64G内存 机器B:32G内存 分片 共12个节点 2个查询节点,10个存储节点 8个主分片 1个复制分片(每个分片都有一个副本分布在不同的节点上面) 每台机器都 ...
- 谈一谈Elasticsearch的集群部署
Elasticsearch天生就支持分布式部署,通过集群部署可以提高系统的可用性.本文重点谈一谈Elasticsearch的集群节点相关问题,搞清楚这些是进行Elasticsearch集群部署和拓 ...
- elasticsearch 路由文档到分片
路由文档到分片 当你索引一个文档,它被存储在单独一个主分片上.Elasticsearch是如何知道文档属于哪个分片的呢?当你创建一个新文档,它是如何知道是应该存储在分片1还是分片2上的呢? 进程不能是 ...
- Elasticsearch究竟要设置多少分片数?
0.引言 本文翻译自Elasticsearch20170918热乎的官方博客,原作者:Christian Dahlqvist. 在构建Elasticsearch集群的初期如果集群分片设置不合理,可能在 ...
- nutch2.1+mysql+elasticsearch整合linux单机部署
这次主要介绍下nutch2.1和mysql和elasticsearch的整合,是在单机上运行,并不是分布式部署.1.下载nutch2.1 nutch下载地址:http://labs.mop.com/a ...
随机推荐
- 循环链表的C风格实现(单向)
头文件: #ifndef _CIRCLELIST_H_ #define _CIRCLELIST_H_ typedef void CircleList; // typedef struct _tag_C ...
- 《C#高级编程》笔记系列第三弹
我们在开发WinForm时,经常会看到partial关键字,比如,我们新建一个Windows Form时,后台代码自动添加如下: 1 public partial class Form1 : Form ...
- EIGRP
因为rip的收敛时间长 尤其是使用过程中 链路down掉 重收敛的时间比较长 所以在中到大型的园区网中很少用到rip协议 只有在很小的局域网中用到rip 因为收敛时间可能会稍微短一些 ...
- pytorch保存模型等相关参数,利用torch.save(),以及读取保存之后的文件
本文分为两部分,第一部分讲如何保存模型参数,优化器参数等等,第二部分则讲如何读取. 假设网络为model = Net(), optimizer = optim.Adam(model.parameter ...
- 树状数组 gcd 查询 Different GCD Subarray Query
Different GCD Subarray Query Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 65536/65536 K ( ...
- TOJ 4008 The Leaf Eaters
|A∪B∪C|=|A|+|B|+|C|-|A∩B|-|A∩C|-|B∩C|+|A∩B∩C| 这个是集合的容斥,交集差集什么的,这个在概率论经常用到吧 4008: The Leaf Eaters T ...
- MHA脚本master_ip_failover.pl(三)
#!/usr/bin/env perl use strict;use warnings FATAL => 'all'; use Getopt::Long; my ( $command, $ssh ...
- Tomcat 调优技巧
Tomcat 调优技巧:1.Tomcat自身调优: ①采用动静分离节约Tomcat的性能: ②调整Tomcat的线程池: ③调整Tomcat的连接器: ④修改Tomcat的运行模式: ⑤禁用AJP连接 ...
- [暑假集训--数位dp]hdu2089 不要62
杭州人称那些傻乎乎粘嗒嗒的人为62(音:laoer).杭州交通管理局经常会扩充一些的士车牌照,新近出来一个好消息,以后上牌照,不再含有不吉利的数字了,这样一来,就可以消除个别的士司机和乘客的心理障碍, ...
- rest-assured 将log()中的信息打印到log日志中去的方法
rest-assured 将log()中的信息打印到log日志中去的方法: ============方法1============== PrintStream fileOutPutStream = n ...