1. 启动elasticsearch报错:failed to obtain node locks
- 解决方案:杀死当前es进程,root重新给普通用户赋予es文件权限,普通用户在es的bin目录下重启
- 参考解决方案:failed to obtain node locks
2. 启动elasticsearch报错:bootstrap checks failed
- 解决方案:修改elasticsearch.yml配置文件,增加以下内容允许外网访问。
network.host:0.0.0.0
启动失败,报错:
[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
- 解决方案:编辑 /etc/security/limits.conf,追加以下内容,修改后重新登录用户
* soft nofile 65536
* hard nofile 65536
[2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
- 解决方案:编辑 /etc/sysctl.conf,追加以下内容,保存后执行:sysctl -p
vm.max_map_count=655360
3. Elasticsearch引入springboot运行报错:org.elasticsearch.client.Cancellable
- 问题原因:引入了elasticsearch-rest-high-level-client,没有引入elasticsearch-rest-client,导致依赖确实报错
- 解决方案: 把低版本的依赖进(ava Low Level REST Client)来即可,同时排除掉低版本的依赖
4. 查看elasticsearch索引占用空间
curl -X GET localhost:9200/_cat/indices?v
5. java 引入elasticsearch 实现多字段分组聚合分页查询功能
6. java 引入es 实现桶聚合查询
- 参考方案:
https://www.cnblogs.com/nysd/p/12858355.html
https://blog.csdn.net/u011311291/article/details/103392071
https://cloud.tencent.com/developer/article/1459354
7. Elasticsearch聚合统计某个字符串时出现字符串被分割的情况(在已经添加好聚合字段的mapping情况下)
- 解决方案:设定聚合的field为“字段.keyword”(字段作为一个完整的关键字进行聚合)
字段分桶统计一般只针对数字类字段,可使用uv>_count方式分桶,针对字符串无法分桶; - 解决方案:在Kibana界面化统计数据可以在Visualize可视化操作针对索引做聚合,再按选定表格或者图表样式显示聚合结果
“stats_bucket”: {
“buckets_path”: “uv>_count”
}