登录ThingJS-X服务显示只读状态时如何处理?

何双双发表于:2022年06月17日 18:03:39更新于:2023年05月15日 13:54:08

问题:在登录系统时发现如下提示:

7714a8ff1e316b4974daa8921161d4a3.png

或发现 ThingJS-X服务器上的日志报错如下:

b6525038272fe8b7473e0b8433bd0146.png

[FORBIDDEN/12/index read-only / allow delete (api)]

 

原因:由于ES数据库所在磁盘的使用率达到95%,ES节点的数据目录data存储空间不足,导致节点接收数据失败,此时ES为了保护数据,会自动将索引分片Index置为只读(read-only)状态。

 

解决步骤:

Linux:

方法一:对当前磁盘进行扩容

   磁盘扩容后,设置索引为可读写状态,重启服务后可解决,索引设置详见方法二-第(5)步。

方法二:更改ES存储目录到更大的磁盘

(1)需要关闭ThingJS-X和elasticsearch,关闭当前ES的进程;

 bac0b38a599c51880793e94f8580073c.png

(2)需要将elasticsearch6.6.2的文件夹转移到新路径下,且挂载磁盘分区空间大;

(3)修改系统安装目录下,如/uino/bin/es.start.sh文件,将ES的安装路径改成新的绝对路径;(下左图原路径,右图新路径)

  e4372738377346a47b25f46a81dd4f16.png 64059bd7e53024d401a15ba59f49af57.png

注意:当前用户应具有新安装路径的执行权限,可进入新路径目录下,执行如下命令:

chmod 777 -R elasticsearch6.2.2

(4)修改保存后,重启ES数据库;  dc718b5825084526ed0ab2999171bc56.png

(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

225848e0d54ee391eb279bb7120fd472.png

ES默认用户名:admin       ES默认密码:Admin@123

(6)重启ThingJS-X,查看是否恢复正常。

  a8d4fdc680d50648c0e0d44629e00272.png

Windows:

方法一:清理当前磁盘空间;

  磁盘空间清理后,设置索引为可读写状态,重启服务后可解决,索引设置详见方法二-第(4)步。

方法二:将ES数据迁移至其它容量充足磁盘下;

(1)进入安装目录/ThingJSXData下,将esData目录转移到其它磁盘下,复制新路径;

(2)进入安装目录/ThingJSX/elasticsearch/config下,修改elasticsearch.yml文件,将新路径写在以下两处;

98781312834623e1272b33ddeb69b380.pngde96441618a495569bab7a50df9dd929.png

(3)保存文件后,待ES数据库启动;

(4)解除ES索引为可读写状态;

       方法1:按图中填写以下内容,{"index.blocks.read_only_allow_delete": null},点击【验证JSON】后,再点击【提交请求】,当出现{“acknowleged":true}字样,则解除ES索引状态成功;

1dd71c549cdbd4c12ce675caae51a6e3.png

注:上图插件为: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用户名:密码

1b4a08730ba51b66a16fe929cdd7adb0.png

当出现{“acknowleged":true}字样,则解除ES索引状态成功;

(5)重新启动ThingJS-X,查看是否恢复正常;

 

可删除目录(X4)

优先选择以上方式,如无条件扩容,可进入 安装目录/thingjsx-server/temp目录下,删除twin目录。

4df6a8e3427a39f38b48e72628914b95.png

可删除目录(X3)

优先选择以上方式,如无条件扩容,可进入 安装目录/thingjsx-data/rsm目录下,删除以下目录,按图示顺序。

2ad461636c889e21518410aad1caab96.png


欢迎使用ThingStudio,一站搞定真孪生。
    您需要登录后才可以回复