【分片无法挂载】Elasticsearch分片和副本无法挂载(分片移位)
硬件
服务器两台:
机器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笔记七之setting,mapping,分片查询方式
Elasticsearch笔记七之setting,mapping,分片查询方式 setting 通过setting可以更改es配置可以用来修改副本数和分片数. 1:查看,通过curl或浏览器可以看到副 ...
- 【重新分配分片】Elasticsearch通过reroute api重新分配分片
elasticsearch可以通过reroute api来手动进行索引分片的分配. 不过要想完全手动,必须先把cluster.routing.allocation.disable_allocation ...
- Elasticsearch之如何合理分配索引分片
大多数ElasticSearch用户在创建索引时通用会问的一个重要问题是:我需要创建多少个分片? 在本文中, 我将介绍在分片分配时的一些权衡以及不同设置带来的性能影响. 如果想搞清晰你的分片策略以及如 ...
- 如何在Elasticsearch中解析未分配的分片(unassigned shards)
一.精确定位到有问题的shards 1.查看哪些分片未被分配 curl -XGET localhost:9200/_cat/shards?h=index,shard,prirep,state,unas ...
- MongoDB入门三步曲3--部署技术:主备、副本集和数据分片
mongodb部署--主备.副本及数据分片 主备复制 副本集 数据分片 主备复制 主备复制是最基本的一种多点部署方案,在读写分离.热备份.数据恢复等方面具有重要作用. 在真实的生产环境,主备库肯定需要 ...
- Mongodb副本集+分片集群环境部署记录
前面详细介绍了mongodb的副本集和分片的原理,这里就不赘述了.下面记录Mongodb副本集+分片集群环境部署过程: MongoDB Sharding Cluster,需要三种角色: Shard S ...
- mongodb副本集加分片集群安全认证使用账号密码登录
mongodb副本集加分片集群搭建网上资料有很多.粘贴一个写的比较好的.副本集加分片搭建 对于搭建好的mongodb副本集加分片集群,为了安全,启动安全认证,使用账号密码登录. 默认的mongodb是 ...
- Mongodb主从复制 及 副本集+分片集群梳理
转载努力哥原文,原文连接https://www.cnblogs.com/nulige/p/7613721.html 介绍了Mongodb的安装使用,在 MongoDB 中,有两种数据冗余方式,一种 是 ...
- MongoDB 3.0 常见集群的搭建(主从复制,副本集,分片....)
一.mongodb主从复制配置 主从复制是mongodb最常用的复制方式,也是一个简单的数据库同步备份的集群技术,这种方式很灵活.可用于备份,故障恢复,读扩展等. 最基本的设置方式就是建立一个主节 ...
随机推荐
- JavaBean和List<JavaBean>
2018-11-04 23:04:03开始写 返回泛型为User是列表 public List<User> getUserInfo() { conn = getConn();//获取数据库 ...
- jQuery事件--keypress([[data],fn])和trigger(type,[data])
keypress([[data],fn]) 概述 当键盘或按钮被按下时,发生 keypress 事件 keypress 事件与 keydown 事件类似.当按钮被按下时,会发生该事件.它发生在当前获得 ...
- Java多线程-----理解CountDownLatch
CountDownLatch简介 CountDownLatch是在java1.5被引入的,跟它一起被引入的并发工具类还有CyclicBarrier.Semaphore.ConcurrentHa ...
- wifi pj WiFiPhisher 安装使用
1.安装kali linux: https://blog.csdn.net/qq_42545206/article/details/82788119 https://www.kali.org/down ...
- PLSA主题模型
主题模型 主题模型这样理解一篇文章的生成过程: 1. 确定文章的K个主题. 2. 重复选择K个主题之一,按主题-词语概率生成词语. 3. 所有词语 ...
- flask 自定义验证器(行内验证器、全局验证器)
自定义验证器 在WTForms中,验证器是指在定义字段时传入validators参数列表的可调用对象,下面来看下编写自定义验证器. 行内验证器 除了使用WTForms提供的验证器来验证表单字段,我们还 ...
- Lucene 个人领悟 (二)
想了想,还是继续写吧,因为,太无聊了,媳妇儿也还有半个小时才下班. 前面拖拖拉拉用了三篇文章来做铺垫,这一篇开始正经搞了啊. 首先,我要加几个链接 http://www.cnblogs.com/xin ...
- Qt中(图片)资源的使用方式
Qt中使用图片资源的方法有很多种,以前我一直分不清各种之间的区别和Qt相应的处理机制,后来遇到一些实际的问题,然后再加上查阅源码和资料,总算弄明白一些事情,但是本文仅仅是个人理解,如有错误之处请告诉我 ...
- mysql-day06
##视图 - 什么是视图:在数据库中存在多种对象,表和视图都是数据库中的对象,创建视图时名称不能和表重名,视图实际上就代表一段sql查询语句,也可以理解成视图是一张虚拟的表,此虚拟表中的数据会随着原表 ...
- 算法提高 P0102
用户输入三个字符,每个字符取值范围是0-9,A-F.然后程序会把这三个字符转化为相应的十六进制整数,并分别以十六进制,十进制,八进制输出,十六进制表示成3位,八进制表示成4位,若不够前面补0.(不考虑 ...