随笔 - 303  文章 - 0  评论 - 3  阅读 - 15万

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:
      

      

 

 

    

 

 

      

   


    

 

 

 

 

 

 

 

 

 

 

 

 

 

      



 

    

 

posted on   池塘里洗澡的鸭子  阅读(535)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示