初识Elasticsearch

本文介绍Elasticsearch的基础概念,包括其作为分布式搜索分析引擎的特点、关键术语解释、安装步骤及访问方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

  1. Elasticsearch 是什么
  2. Elasticsearch 中基本概念
  3. Elasticsearch 安装
  4. 访问 Elasticsearch

1. Elasticsearch 是什么
Elasticsearch 是一个基于 Lucene 的实时的分布式搜索分析引擎,开箱即用,整合了全文检索、结构化搜索、分析三大功能。
为什么不直接用 Lucene ?Lucene 只是一个全文检索引擎的架构,提供了大量可用的 API,但其并不是一个完整的全文检索引擎,使用 Lucene 时,你还需要自己写代码,自己去封装成全文检索引擎。
2. Elasticsearch 中基本概念

  • field:字段

  • Document: 文档,一条数据,用json格式表示。一个Document包含多个field,json中的key即field.

  • Type:类型,一个Document分组,和mysql中的table类似,但又不完全相同。一个Type包含多个Document,同一个Type中的Document所拥有的field可以不同,但最好保持一致。

  • Index:索引,类似于mysql中的database。一个Index包含多个Type。默认情况下,Document中的所有 field都会被索引,这样这些field才会被搜索到。Elasticsearch中有一个倒排索引(Inverted Index)的概念,可以实现mysql中B+Tree索引加速检索的目的.

  • shard:分片。可以将一个 Index 中的数据切分为多个 shard,然后将之存储在多台服务器上,以增大一个 Index 可以存储的数据量,加速检索能力,提升系统性能。

  • replica :副本。replica 与 shard 存储的数据是相同的,replica 起到备份的作用。当 shard 发生故障时,可以从 replica 中读取数据,保证系统不受影响。

  • Node:节点,单个 Elasticsearch 实例。节点名称默认随机分配。

  • Cluster:集群,一组 Elasticsearch 实例。默认集群名称为 elasticsearch。
    3. Elasticsearch 安装
    前提条件:系统中已成功安装 jdk8
    下载并解压:

    cd /usr/local
    wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.6.0.tar.gz
    tar -zxvf elasticsearch-6.6.0.tar.gz -C .
    查看解压后的目录:

    [root@153-215 local]# cd elasticsearch-6.6.0
    [root@153-215 elasticsearch-6.6.0]# ls
    bin config lib LICENSE.txt logs modules NOTICE.txt plugins README.textile
    启动 Elasticsearch:
    在这里插入图片描述
    遂,查看 Elasticsearch 的启动脚本,看启动时是否对内存大小有要求:
    在这里插入图片描述
    发现 Elasticsearch 启动时,读取了 jvm.options 文件,于是查看该文件:
    在这里插入图片描述
    修改 jvm 的最大可用内存和最小可用内存如下:
    在这里插入图片描述
    再次启动 Elasticsearch:
    在这里插入图片描述
    这段报错信息也就是说,不能以 root 用户的身份启动 Elasticsearch,这一要求也是出于系统安全考虑,所以此处我先将 Elasticsearch 目录及目录内文件的拥有者修改为另一个用户,然后再用另一个用户启动:
    在这里插入图片描述
    发现启动时存在两个问题:
    问题一: max file descriptors [65535] for elasticsearch process is too low, increase to at least [65536]。
    解决此问题,我们可以编辑 /etc/security/limits.conf 文件最底端 soft nofile 和 hard nofile 的配置为 65536:
    在这里插入图片描述
    问题二:max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]。
    解决此问题,我们可以编辑 /etc/sysctl.conf 文件,在文件最底端添加如下配置:

    vm.max_map_count=262144

注意添加完该配置,还需要执行一下 sysctl -p 命令,重新加载一下 sysctl.conf 配置文件。
解决完上述两个问题,再次重启 Elasticsearch,发现上述两个问题都木有了,且启动成功~
4. 访问 Elasticsearch
打开另外一个窗口,请求 Elasticsearch:
在这里插入图片描述
可以看到,Elasticsearch 返回了一个 json 对象,其中包含当前节点名称、集群名称、集群 uuid、版本信息、宣传语。
Elasticsearch 的基本认识就先写到这里,后续我们再一步步深入了解 Elasticsearch,使用 Elasticsearch。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值