问题1:Linux下磁盘爆满,df -h
可以发现,默认目录下磁盘使用已经达到100%,但是15T的磁盘中数据并未被充分利用, 原因是elasticsearch安装后使用了默认路径,通过以下命令查询/var/lib 这个路径就在100%那个空间
解决1:迁移es存储空间和日志空间
①修改/etc/elasticsearch/elasticsearch.yml文件
修改数据文件存储位置:
默认位置: path.data: /var/lib/elasticsearch
修改为: path.data: /home/lib/elasticsearch
修改日志文件存储位置:
默认位置: path.logs: /var/log/elasticsearch
修改为: path.logs: /home/log/elasticsearch
②迁移数据文件
复制/var/lib/elasticsearch文件夹下的nodes文件 到 /home/lib/elasticsearch文件夹下
日志文件同上
③给新数据存储目录赋权给elasticsearch用户(否则会出现es启动失败问题)
chown -R elasticsearch elasticsearch/
③重启es
问题2:Could not index event to Elasticsearch. {:status=>400...Validation Failed: 1: this action would add [2] total shards, but this cluster currently has [2000]/[2000] maximum shards open;
es集群默认分片已满,需要调整分片大小
解决:
集群无用户名密码
curl -XPUT -H "Content-Type:application/json" http://127.0.0.1:9200/_cluster/settings -d '{"persistent":{"cluster":{"max_shards_per_node":20000}}}'
集群有用户名密码
curl --user 'elastic':'密码' -XPUT -H "Content-Type:application/json" http://127.0.0.1:9200/_cluster/settings -d '{"persistent":{"cluster":{"max_shards_per_node":20000}}}'
查看分片数量
curl --user 'elastic':'密码' -XGET http://127.0.0.1:9200/_cluster/settings?pretty