注:这一系列笔记是根据学习极客上面阮一鸣老师的课程以及《Elastic stack实战手册》这本书来进行的学习记录,如各位有兴趣进入深入的学习可观看阮一鸣老师的课程或者研读《Elastic stack实战手册》这本书。
1.elasticsearch介绍
Elasticsearch 是一个分布式的免费开源搜索和分析引擎,适用于包括文本、数字、地理空间、结构化和非结构化数据等在内的所有类型的数据。Elasticsearch 在 Apache Lucene 的基础上开发而成,以其简单的 REST 风格 API、分布式特性、速度和可扩展性而闻名。
Elasticsearch 在速度和可扩展性方面都表现出色,而且还能够索引多种类型的内容,这意味着其可用于多种用例:
-应用程序搜索
-网站搜索
-企业搜索
-日志处理和分析
-基础设施指标和容器监测
-应用程序性能监测
-地理空间数据分析和可视化
-安全分析
-业务分析
搭配配套的同样免费的开源工具kibana可实现强大的可视化,报表功能。
2.elasticsearch安装
elasticsearch可在官网安装,安装地址为:https://www.elastic.co/cn/elastic-stack/。由于elasticsearch依赖于java开发环境,因此需要安装jdk并配置了相应的JAVA_HOME,但在新版本的elasticsearch中已经集成了jdk环境,但还是建议安装自己的java版本,同时kibana的安装地址也可在上述网址找到。需要注意的是,kibana的版本必须与安装的elasticsearch的版本一致。
3.elasticsearch的配置
关于elasticsearch的配置比较多样,所以此处不再赘述,有兴趣了解的同学可参考官方指南:https://www.elastic.co/guide/cn/elasticsearch/guide/current/important-configuration-changes.html
kibana支持中文,但默认是英文,如需要改为中文,修改kibana.yml文件,在末尾添加以下命令:
i18n.locale: "zh-CN"
注意,冒号后面必须要有空格,否则kibana在启动时会报错。
另外,在使用kibana时,可能会弹框提醒需要配置安全策略,不影响基本功能的使用,但会降低体验,配置的方法官网也有,这里贴出网址,不再赘述:
https://www.elastic.co/guide/en/elasticsearch/reference/7.15/security-minimal-setup.html#_prerequisites_11
另外,elasticsearch在linux上启动时可能会出现报错:
ERROR: bootstrap checks failedmax file descriptors [4096] for elasticsearch process likely too low, increase to at least [65536]
此时需要修改linux的配置文件,切换到root用户后
vi /etc/security/limits.conf
输入以下内容
* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096
#备注:*代表linux下的所有用户,为参数之一,不可省略。
#重新登录后才可生效。
一般来讲出现上述问题后,还会伴随另一个问题:
max virtual memory areas vm.max_map_count [65530] likely too low, increase to at least [262144]
此时需要修改/etc/sysctl.conf文件
在文件中添加以下配置:
vm.max_map_count=655360
修改完后需要执行命令: sysctl -p
重启elasticsearch即可启动成功。