Elasticseach初识及其Single-Node Mode快速部署


  Elasticsearch同LuceneSolr都是目前市场上主流的基于倒排索引机制完成快速全文搜索的全文搜索方案

  LuceneApache基金会维护的一套完全使用Java编写的信息搜索工具包(Jar包),它包含了索引结构、读写索引工具、相关性工具、排序等功能,因此在使用Lucene时仍需要我们自己进一步开发搜索引擎系统,例如数据获取、解析、分词等方面的东西。同时需要注意的是:Lucene只是一个框架,需要在Java程序中集成它再使用;甚至需要很多的学习才能明白它是如何运行的,熟练运用Lucene非常复杂。

  Solr是一个有HTTP接口的基于Lucene的查询服务器,是一个搜索引擎系统,封装了很多Lucene节,Solr可以直接利用HTTP GET/POST请求去查询,维护修改索引。

  Elasticsearch也是一个建立在全文搜索引擎 Apache Lucene基础上的搜索引擎。采用的策略是分布式实时文件存储,并将每一个字段都编入索引,使其可以被搜索。  

  SolrElasticsearch都是基于Lucene实现的。但SolrElasticsearch之间也是有区别的:

    1Solr利用Zookpper进行分布式管理,而Elasticsearch自身带有分布式协调管理功能;

    2SolrElasticsearch实现更加全面,Solr官方提供的功能更多,而Elasticsearch本身更注重于核心功能, 高级功能多由第三方插件提供;

    3Solr在传统的搜索应用中表现好于Elasticsearch,而Elasticsearch在实时搜索应用方面比Solr表现好。

  Elasticsearch支持单节点模式(Single-Node Mode)和集群模式(ClusterMode)部署,一般来说,小公司的业务场景往往使用Single-Node Mode部署即可。本文即实践搭建Single-Node Mode部署实例。

  一、环境准备

    1、操作系统:CentOS 8.x 64 bit

        

    2、关闭虚拟机的防火墙

      systemctl stop firewalld.service #停止firewall

      systemctl disable firewalld.service #禁止firewall开机启动

      firewall-cmd --state # 查看防火墙

        

  二、Elasticsearch Single-Node Mode部署
    
1、下载Linux版的ES,参考Install Elasticsearch with RPM | Elasticsearch Guide [8.1] | Elastic使用yum进行安装

        

        

     2、配置Elasticsearch,参考Configuring Elasticsearch | Elasticsearch Guide [8.1] | Elastic中配置相关说明

           

        

      1)编辑vim /etc/elasticsearch/elasticsearch.yml,注意冒号后面有个空格:单机安装请取消注释:node.name: node-1,否则无法正常启动;修改网络和端口,取消注释master节点,单机只保留一个node。

        修改前后对比,如下:

          

    2)按需修改vim /etc/elasticsearch/jvm.options内存设置:

      

    3)添加es用户,es默认root用户无法启动,需要改为其他用户:

 

        

      改变es目录拥有者账号:

        

      设置环境变量:

        

     4)启动ES

      su esroot

    5)配置完成,浏览器访问测试: ip:9200