Elasticsearch高可用分布式集群之环境搭建
对于集群这个概念,通过前面的MySQL和MongDB的实践应该不会陌生了。ES同样可以搭建集群环境,其架构遵循其基本概念:一个采用Restful API标准的高扩展性和高可用性的实时数据分析的全文搜索引擎。
ES集群架构特点具化来说就是:
1)高扩展性:体现在Elasticsearch添加节点非常简单,新节点无需做复杂的配置,只要配置好集群信息将会被集群自动发现。
2)高可用性:因为Elasticsearch是分布式的,每个节点都会有备份,所以宕机一两个节点也不会出现问题,集群会通过备份进行自动复盘。
3)实时性:使用倒排索引来建立存储结构,搜索时常在百毫秒内就可完成。
ES集群具体搭建实操如下:
搭建一个三个节点的集群环境,为了实践操作,三台只台服务器上进行操作:一主两从。因为在虚拟机上,需要注意调整虚拟机内存大小不至于影响ES的正常运行。
一、节点搭建
ES中节点是什么?其实在Elasticseach初识及其Single-Node Mode快速部署 - 池塘里洗澡的鸭子 - 博客园 (cnblogs.com)中,本质就是搭建了一个node。一个ES实例即一个Node,一台机器可以有多个实例,正常使用下每个实例都应该会部署在不同的机器上。
所以三个节点的搭建可以参考Elasticseach初识及其Single-Node Mode快速部署 - 池塘里洗澡的鸭子 - 博客园 (cnblogs.com)进行节点搭建,差别主要在elasticsearch.yml
配置文件上。
二、节点配置
配置文件具体说明可以参考官网。下面简单介绍elasticsearch.yml配置文件说明中涉及本案例集群搭建相关内容:
1、第一个节点作为主节点进行配置
2、第二、第三个节点作为从节点进行配置
其他与上面主节点配置保持一致,修改node.name分别为node-2,node-3
启动主从节点,需要注意的是如果是通过修改已存在节点进行的集群配置,需要将path.data路径下的数据清空,否则无效。
简单验证:192.168.XXX.XXX:9200/_cat/health?v
三、验证主从环境
对于主从节点是否出于正常的工作状态进行验证,需要借助工具es-head插件。首先安装这个插件,因为这个插件是node.js的前端工厂,所以需要很多关于node.js的准备工作:
1、安装node.js:yum -y install nodejs
2、phantom.js的安装配置:wget https://github.com/Medium/phantomjs/releases/download/v2.1.1/phantomjs-2.1.1-linux-x86_64.tar.bz2
注意安装bzip2:
3、下载es-head:git clone https://github.com/mobz/elasticsearch-head.git
4、elasticsearch-head发现主机 并连接 elasticsearch.yml配置文件修改:
之前已经设置过,此处不再处理。
5、启动:npm run start
es-head目录下执行:
如果执行不成功,一定添加如下依赖:
启动成功后,打开网址:
之后输入集群网址:
可以看到es-head成功访问了本文中定义的集群my-escluster。
在kibana中建立如下索引再次查看es-head:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?