美文网首页
【Elasticsearch】index [index] blo

【Elasticsearch】index [index] blo

作者: arrow_zh | 来源:发表于2021-08-25 15:52 被阅读0次

ES保存是报标题错误,大致意思是ES只允许读,不允许写。

1、排查问题

ES环境是通过docker部署,先找到es的数据存储映射的卷地址为 /data/es_data,通过df -h /data/es_data目录查看磁盘目录空间查看到空间已经使用了96%,由于ES在磁盘空间到90%时会锁定为只读模式,所以解决方案有两个,第一种:清空es数据盘所在磁盘空间,将空间使用率降低到90%以内;第二种:将数据目录迁移到其他较大空间磁盘。由于第一搭建环境的同事并没有注意磁盘挂在目录的问题,es所在的磁盘只有50G,所以决定迁移到其他磁盘。

2、解决步骤
2.1 迁移数据

将/data/es_data目录的数据全部拷贝到新磁盘上,注意文件夹的目录权限问题

cp -r /data  /home #迁移目录
chmod 777 /home/data #设置文件夹权限
chown -R user /home/data/es_data #设置文件夹所属用户
2.2 修改docker挂在数据卷的位置

第一种:
先停止运行的docker容器,然后通过修改配置文件重新挂载目录
1、停止docker服务

systemctl stop docker.service(关键,修改之前必须停止docker服务)

2、使用vim /var/lib/docker/containers/container-ID/config.v2.json命令打开配置文件,修改配置文件中的目录位置,然后保存退出

"MountPoints":{"/home":{"Source":"/docker","Destination":"/home","RW":true,"Name":"","Driver":"","Type":"bind","Propagation":"rprivate","Spec":{"Type":"bind","Source":"//docker/","Target":"/home"}}}

3、启动docker服务

systemctl start docker.service

4、启动docker容器

docker start

第二种:提交现有容器为新镜像,然后重新运行它

$ docker ps  -a

CONTAINER ID        IMAGE                 COMMAND                  CREATED              STATUS                          PORTS               NAMES

   5a3422adeead        ubuntu:14.04          "/bin/bash"              About a minute ago   Exited (0) About a minute ago                       agitated_newton

$ docker commit 5a3422adeead newimagename

$ docker run -ti -v "$PWD/dir1":/dir1 -v "$PWD/dir2":/dir2 newimagename /bin/bash

第三种:export容器为镜像,然后import为新镜像

$docker container export -o ./myimage.docker 容器ID
$docker import ./myimage.docker newimagename
$docker run -ti -v "$PWD/dir1":/dir1 -v "$PWD/dir2":/dir2 newimagename /bin/bash
2.3 发送重置请求
PUT _all/_settings
{
  "index.blocks.read_only_allow_delete": null
}

相关文章

网友评论

      本文标题:【Elasticsearch】index [index] blo

      本文链接:https://www.haomeiwen.com/subject/kbteiltx.html