解决步骤:
- Linux
方法一:对当前磁盘进行扩容
磁盘扩容后,设置索引为可读写状态,重启服务后可解决,索引设置详见方法二-第(5)步。
方法二:更改ES存储目录到更大的磁盘
(1)需要关闭elasticsearch,关闭当前ES的进程;
(2)需要将elasticsearch6.6.2的文件夹转移到新路径下,且挂载磁盘分区空间大;
(3)修改系统安装目录下,如/bin/es.start.sh文件,将ES的安装路径改成新的绝对路径;(下左图原路径,右图新路径)
注意:当前用户应具有新安装路径的执行权限,可进入新路径目录下,执行如下命令:
chmod 777 -R elasticsearch6.2.2
(4)修改保存后,重启ES数据库;
(5)设置索引为可读写状态
此操作需使用服务器自带的curl工具执行以下命令:
curl -v -H “Content-Type:application/json” -X PUT http://IP地址:9200/_all/_settings?pretty -d ‘{“index.blocks.read_only_allow_delete”:“false”}’ -u root:123456
ES默认用户名: ES默认密码:
(6)重启,查看是否恢复正常。
- Windows
方法一:清理当前磁盘空间;
磁盘空间清理后,设置索引为可读写状态,重启服务后可解决,索引设置详见方法二-第(4)步。
方法二:将ES数据迁移至其它容量充足磁盘下;
(1)进入安装目录将esData目录转移到其它磁盘下,复制新路径;
(2)进入安装目录/elasticsearch/config下,修改elasticsearch.yml文件,将新路径写在以下两处;
(3)保存文件后,待ES数据库启动;
(4)解除ES索引为可读写状态;
方法1:按图中填写以下内容,{“index.blocks.read_only_allow_delete”: null},点击【验证JSON】后,再点击【提交请求】,当出现{“acknowleged":true}字样,则解除ES索引状态成功;
注:上图插件为:ElasticSearch Head,需要安装连接数据库。
方法2:Windows安装Curl命令,执行win+R命令,输入cmd,在命令输入框中输入下面命令:
curl -v -H “Content-Type:application/json” -X PUT http://IP地址:9200/_all/_settings?pretty -d “{”““index.blocks.read_only_allow_delete””“:”““false””“}” -u ES用户名:密码
当出现{“acknowleged":true}字样,则解除ES索引状态成功;
(5)重新启动ThingJS-X,查看是否恢复正常;
可删除目录(X4)
优先选择以上方式,如无条件扩容,可进入 安装目录/temp目录下,删除twin目录。
l
可删除目录(X3)
优先选择以上方式,如无条件扩容,可进入 安装目录/rsm目录下,删除以下目录,按图示顺序。