本文是第一篇,介绍如何快速搭建三节点的Elasticsearch(以下简称ES)集群。
整个EFK系列预计会有四篇。本文是第一篇,第二篇部署Kibana,第三篇安装Fluent Bit,最后第四篇是进行相关的配置。

相关服务器配置

总体说明

在此场景下,ES只是作为日志的存储库,考虑到用户(开发小哥,测试)需要经常性的检索日志,因此CPU和内存都配的好一些,硬盘根据日志大小进行选配。基本可以通过观察一段时间的日志产出,可以预估15天的日志容量,以此配比硬盘。
服务器是ES专用的,安装了docker-compose,ES官方提供了Docker镜像,会很方便我们安装。ES官方文档有句话:The more nodes, the merrier.可见,对于ES来说,更多的节点意味着更高的可用性,并且ES能够根据需要进行扩展。所以综合稳定性和安装方便性考虑,利用Docker安装三节点的ES集群

安装步骤

1.拉取镜像

拉取镜像前,最好将镜像源切换到国内源,否则很容易拉取失败。

docker pull docker.elastic.co/elasticsearch/elasticsearch:7.6.2

2.用docker-compose启动三节点集群

首先选择合适的目录创建一个docker-compose.yml文件。文件可以点击这里下载。
这个文件会启动三节点的集群,其中es01节点会监听localhost:9200,es02,es03会通过docker bridge网关互相通信。如果不想对外网开发,将localhost配置改为127.0.0.1:9200:9200即可。ES的存储文件命名为data01,data02,data03,已经挂载到宿主机上,不会跟着容器的消失。
接着启动:
docker-compose up -d
等镜像拉取完之后,可以用以下命令进行检测:
curl -X GET "localhost:9200/_cat/nodes?v&pretty"
如果安装成功,应该会像下图截图一样:

至此,安装已经结束。

3.配置

更多的配置会放到第四篇统一讲,这儿先说一下关键的配置vm.max_map_count.这个参数是指一个进程可以拥有的虚拟内存区域的数量。默认配置通常ES会不够用,导致ES抛出内存不足的错误。
在Linux上可以这么设置:sysctl -w vm.max_map_count=262144.这个数字是ES官方推荐的最小值。
最后,就可以访问ES进行愉快的玩耍了。😬
第二篇预告:ES可视化界面的Kibana安装和配置