Elasticsearch的介绍和安装
全文检索引擎之Elasticsearch的简介及安装

Elasticsearch介绍

Elasticsearch是一个基于Lucene库的搜索引擎。它提供了一个分布式、支持多租户的全文搜索引擎,具有HTTP Web接口和无模式JSON文档。Elasticsearch是用Java开发的,并在Apache许可证下作为开源软件发布。官方客户端在Java.NETC#)、PHPPythonApache GroovyRuby和许多其他语言中都是可用的。[5]根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr,也是基于Lucene。[6]

Elasticsearch是与名为Logstash的数据收集和日志解析引擎以及名为Kibana的分析和可视化平台一起开发的。这三个产品被设计成一个集成解决方案,称为“Elastic Stack”(以前称为“ELK stack”)。

Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。[5]”Elasticsearch是分布式的,这意味着索引可以被分成分片,每个分片可以有0个或多个副本。每个节点托管一个或多个分片,并充当协调器将操作委托给正确的分片。再平衡和路由是自动完成的。“[5]相关数据通常存储在同一个索引中,该索引由一个或多个主分片和零个或多个复制分片组成。一旦创建了索引,就不能更改主分片的数量。[7]

Elasticsearch使用Lucene,并试图通过JSON和Java API提供其所有特性。它支持facetting和percolating[8],如果新文档与注册查询匹配,这对于通知非常有用。

另一个特性称为“网关”,处理索引的长期持久性;例如,在服务器崩溃的情况下,可以从网关恢复索引。[9]Elasticsearch支持实时GET请求,适合作为NoSQL数据存储[10],但缺少分布式事务。[11]

👆 摘自:维基百科 👆

Elasticsearch官网

Elasticsearch安装

准备工作

我使用的Centos7的虚拟机进行安装

  • 安装好jdk8的虚拟机一台(注意配置 JAVA_HOME
  • 下载Elasticsearch压缩包(我这里使用的版本是 6.6.1)

安装

  1. Elasticsearch的安装非常的简单,仅仅只需要解压下载好的压缩包即可

注意:

​ 请勿使用root用户安装,Elasticsearch考虑到安全问题,使用root用户运行会报错。所以,在解压之前需要单独创建一个用户,然后登陆创建的用户解压即可。

配置

Elasticsearch的安装非常简单,但是要运行,还需要一点小小的配置,配置文件位于安装目录中的config目录中。

  • Elastci的配置文件分为三个:
    • elasticsearch.yml 用于配置Elasticsearch
    • jvm.options用于配置Elasticsearch JVM设置
    • log4j2.properties 用于配置Elasticsearch日志记录

Elsticsearch重要配置参考

  1. 配置jvm.options

    1
    2
    3
    4
    # Xms 最小堆大小,默认1g
    # Xmx 最大堆大小,默认1g
    -Xms256m
    -Xmx256m

    这些设置的值取决于服务器上可用的RAM量,可以参考官方的文档进行配置,地址为上面给出的配置参考链接。

  2. 配置elasticsearch.yml

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    # 配置path.log和path.data,存放数据文件和日志文件的目录
    # 目录具体位置以你的安装目录为准
    path.data: /home/xushuai/elasticsearch-6.6.1/data
    path.logs: /home/xushuai/elasticsearch-6.6.1/logs
    # 配置集群名称,集群唯一标识,作用类似于ID
    # 若不配置,默认为:elasticsearch
    cluster.name: my-elasticsearch
    # 配置节点名称,在集群中唯一表示当前节点
    node.name: node-1
    # 通配IP访问
    network.host: 0.0.0.0
    ## ......还有一些集群配置,可以查看官方文档

启动测试

  1. 执行安装目录的中的bin/elasticsearch运行elasticsearch

    • bin/elasticsearch -d为后台运行
  2. 访问测试

启动错误处理

启动失败后,注意查看日志

  1. max number of threads [3795] for user [xushuai] is too low, increase to at least [4096]

    • 修改 /etc/security/limits.d/下的xx-nproc.conf文件,具体文件名以你的服务器为准。

      1
      *          soft    nproc     4096
  1. max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]

    • 修改/etc/security/limits.conf文件

      1
      2
      3
      4
      5
      # 添加配置
      * soft nproc 65536
      * hard nproc 65536
      * soft nofile 65536
      * hard nofile 65536
  1. max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

    • 修改/etc/sysctl.conf文件

      1
      vm.max_map_count=262144
    • 保存后,执行命令 sysctl -p

配置修改完毕后,仍无法启动成功,请重启虚拟机。

正常启动后,如无法从web访问到,请注意查看防火墙是否关闭。

安装Kibana作为可视化平台

Kibana官网

Kibana介绍

Kibana是Elasticsearch的开源数据可视化插件。它在Elasticsearch集群上索引的内容之上提供可视化功能。用户可以在大量数据之上创建条形图,折线图和散点图,或饼图和贴图。 Elasticsearch,Logstash和Kibana的组合,称为“弹性堆栈”,可作为产品或服务提供。

准备工作

  • 安装Elasticsearch并配置运行
  • 下载Kibana的压缩包

安装/配置/运行

  1. 解压下载好的压缩包

  2. 配置(配置文件位于安装目录(解压后的目录)的config目录中,文件名:kibana.yml

    • 配置通配IP访问,修改server.host配置项

      1
      server.host: 0.0.0.0 # 默认值为 localhost
    • 配置elasticsearch.url

      1
      2
      # 若和elasticsearch安装在一台虚拟机可以不用配置。默认为localhost
      elasticsearch.url: 192.168.136.101
  3. 运行

    1
    2
    # 进入安装目录
    bin/kibana
    • 查看运行结果,访问 192.168.136.101:5601

      默认端口为:5601,可以通过 server.port配置项修改

到此Elasticsearch基本算是安装完毕

扩展:安装IK分词器

Github:elasticsearch-analysis-ik

IK Analysis插件将Lucene IK分析器(http://code.google.com/p/ik-analyzer/)集成到elasticsearch中,支持自定义词典。

安装

  • 方式1:下载IK分词器的压缩包,下载地址:https://github.com/medcl/elasticsearch-analysis-ik/releases

    elasticsearch的安装目录中的plugins中创建ik目录

    将下载的压缩包解压到创建的ik目录中

  • 方式2:使用elasticsearch-plugin安装

    1
    ./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.6.1/elasticsearch-analysis-ik-6.6.1.zip

    注意:版本号必须和你安装的版本一致,若此方法不行,请使用第一种方式。

安装完毕,重启elasticsearch即可

文章作者: imxushuai
文章链接: https://www.imxushuai.com/2019/03/29/Elasticsearch的介绍和安装/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 imxushuai
支付宝打赏
微信打赏