es 分片迁移_es集群的安装使用

前言


前段时间线上发生了一次事故,有一台服务器磁盘坏了宕机了导致es集群发生了问题,在恢复的过程中遇到了一些问题,在这里记录一下,也算是对知识的总结

es集群的安装配置

准备
  • 机器,三台服务器

  • 安装包(官网下载)

https://www.elastic.co/downloads/elasticsearch
  • 设置内核参数

vi /etc/sysctl.conf

80bede21ca9cb082da2d60ed767ecd45.png

  • 设置文件描述符限制

vi /etc/security/limits.conf

cf13fbdf11d1a34c5358590d62bae504.png

安装
  • 创建es用户

useradd elastic
  • 安装包分别解压到三台服务器安装目录下,重命名区分

    b29d43ac073cdbdc7c9bbda388406e7b.png

  • 分配配置es配置文件

    6ebac195cb3d7d88ea830ccc553ef379.png

    9ec4d141ef092205b5a0de219affb7df.png

  • 设置文件用户

    chown -R elastic.elastic /home/elasticsearch-6.8.2-node-1
  • 启动

    cd elasticsearch-6.8.2-node-1/bin
    ./elasticsearch &
kibana安装和使用

  • 下载kibana安装包(跟es版本一致)

https://www.elastic.co/downloads/kibana
  • 解压并重命名

  • 配置

    5009580f641e8dda30a7e42369b4f6da.png

    986bf22d7d83d996f7d8aa4186f68a44.png

  • 启动

cd /usr/local/kibana/bin

./kibana &
  • 访问并监控es集群

822f285d4dcd6ed0d5e639682dec5960.png

事故回顾

  • 原因

    • 刚开始在建集群的时候,没有太多机器,所以就把其中两个节点放在一台机器上。这次服务器宕机恰好是那两个节点的机器,导致了这次事故的发生

    • 两个节点都挂了,分片部分丢失(默认五个分片,如果节点不多的情况下,会导致分片部分丢失,要注意节点放在不同的机器上)

  • 集群恢复

    • 停止kibana

    • 删除kiabana产生的red索引

    • 修改kibana配置文件中的index

    • 重启kibana

    • 重建索引

    • 迁移数据(es reindex)

    • 修改别名映射的源索引为新的索引

    • 删除旧索引(代码中使用别名的话,就不需要改任何代码)

    • 分片丢失导致恢复的时候找不到分片。

      解决方法步骤:

    • 应用索引全部恢复了之后,通过kibana发现应用索引部分都是green的,但是概览里面es还是red,通过排查发现,是kibana在运行的时候创建了一些系统索引,这部分也有索引缺失。

      解决方法步骤:

  • 总结

    • es在集群节点足够多的情况下,挂掉小部分节点,是不会对数据产生影响的,它的分片机制,在恢复的时候,只要存活节点上的分片都是存在的,数据会自动重新分片备份

    • 在节点不多的情况下,如果有节点挂了,可能就会导致分片丢失的情况,等节点起来了,在自动同步的时候,发现分片缺失,自动同步就会有问题

    • 除了平时开发加入的应用级索引外,es还有一部分的系统索引,比如引入kibana,就会创建一些系统索引

    • 别名的使用很重要

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值