Elasticsearch介绍、安装、配置守护进程、设置开机启动

Elastic Stack 的核心

Elasticsearch 是一个分布式、RESTful 风格的搜索和数据分析引擎,能够解决不断涌现出的各种用例。 作为 Elastic Stack 的核心,它集中存储您的数据,帮助您发现意料之中以及意料之外的情况。

安装

https://www.elastic.co/guide/en/elasticsearch/reference/current/setup.html

支持的平台编辑

官方支持的操作系统和 JVM 的矩阵可在此处获得: 支持矩阵。Elasticsearch 在列出的平台上进行了测试,但它可能也适用于其他平台。

Java (JVM) 版本编辑

Elasticsearch 是使用 Java 构建的,并且在每个发行版中都包含来自 JDK 维护者 (GPLv2+CE)的捆绑版本的 OpenJDK。捆绑的 JVM 是推荐的 JVM,位于jdkElasticsearch 主目录的目录中。

要使用您自己的 Java 版本,请设置ES_JAVA_HOME环境变量。如果您必须使用与捆绑的 JVM 不同的 Java 版本,我们建议使用受支持 的 Java 的 LTS 版本。如果使用已知错误的 Java 版本,Elasticsearch 将拒绝启动。使用您自己的 JVM 时,捆绑的 JVM 目录可能会被删除。


自己安装 Elasticsearch编辑

Elasticsearch 以以下包格式提供:

Linux 和 MacOStar.gz档案

这些tar.gz档案可用于安装在任何 Linux 发行版和 MacOS 上。

在 Linux 或 MacOS 上从存档安装 Elasticsearch

视窗.zip存档

zip存档适合在 Windows 上安装。

.zip在 Windows 上安装 Elasticsearch

deb

deb软件包适用于 Debian、Ubuntu 和其他基于 Debian 的系统。Debian 软件包可以从 Elasticsearch 网站或我们的 Debian 存储库下载。

使用 Debian 软件包安装 Elasticsearch

rpm

rpm软件包适合安装在 Red Hat、Centos、SLES、OpenSuSE 和其他基于 RPM 的系统上。RPM 可以从 Elasticsearch 网站或我们的 RPM 存储库下载。

使用 RPM 安装 Elasticsearch

msi

[测试版] 此功能处于测试阶段,可能会发生变化。设计和代码不如官方 GA 功能成熟,并且按原样提供,不提供任何保证。Beta 功能不受官方 GA 功能的支持 SLA 的约束。msi包适合安装在至少安装了 .NET 4.5 框架的 Windows 64 位系统上,是在 Windows 上开始使用 Elasticsearch 的最简单选择。MSI 可以从 Elasticsearch 网站下载。

使用 Windows MSI 安装程序安装 Elasticsearch

docker

图像可用于将 Elasticsearch 作为 Docker 容器运行。它们可以从 Elastic Docker Registry 下载。

使用 Docker 安装 Elasticsearch

brew

公式可从 Elastic Homebrew Tap 使用 Homebrew 包管理器在 macOS 上安装 Elasticsearch。

使用 Homebrew 在 macOS 上安装 Elasticsearch

配置管理工具编辑

我们还提供以下配置管理工具来帮助进行大型部署:


下载并安装适用于 Linux 的归档文件编辑

Elasticsearch v7.13.4 的 Linux 存档可以按如下方式下载和安装:

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.13.4-linux-x86_64.tar.gz
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.13.4-linux-x86_64.tar.gz.sha512
shasum -a 512 -c elasticsearch-7.13.4-linux-x86_64.tar.gz.sha512     
#比较下载的.tar.gz存档的 SHA和发布的校验和,应该输出elasticsearch-{version}-linux-x86_64.tar.gz: OK

tar -xzf elasticsearch-7.13.4-linux-x86_64.tar.gz
cd elasticsearch-7.13.4/ 
#该目录称为 $ES_HOME


elasticsearch默认不允许以root账号运行

#创建用户:sh
useradd nc
#设置密码:
passwd nc
#切换用户:
su nc

更改配置(elasticsearch.yml)

path.data: /home/nc/elasticsearch/data # 数据目录位置
path.logs: /home/nc/elasticsearch/logs # 日志目录位置

network.host: 0.0.0.0 # 绑定到0.0.0.0,允许任何ip来访问
bootstrap.system_call_filter: false

我们把data和logs目录修改指向了elasticsearch的安装目录。但是这两个目录并不存在,因此我们需要创建出来。

进入elasticsearch的根目录,然后创建:

mkdir data
mkdir logs

从命令行运行 Elasticsearch编辑

Elasticsearch 可以从命令行启动,如下所示:

./bin/elasticsearch
#注意,是在 elasticsearch-{version} 文件夹下($ES_HOME)

启用系统索引的自动创建编辑

一些商业功能会在 Elasticsearch 中自动创建索引。默认情况下,Elasticsearch 配置为允许自动创建索引,不需要额外的步骤。但是,如果你有Elasticsearch禁用自动创建索引,您必须配置 action.auto_create_indexelasticsearch.yml允许商业功能创建以下指标:

检查 Elasticsearch 是否正在运行编辑

测试你的Elasticsearch节点通过发送一个HTTP请求的端口上运行9200localhost

GET /

成功就有这样的回答

{
  "name" : "Cp8oag6",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "AT69_T_DTp-1qgIJlatQqA",
  "version" : {
    "number" : "7.13.4",
    "build_flavor" : "default",
    "build_type" : "tar",
    "build_hash" : "f27399d",
    "build_date" : "2016-03-30T09:51:41.449Z",
    "build_snapshot" : false,
    "lucene_version" : "8.8.2",
    "minimum_wire_compatibility_version" : "1.2.3",
    "minimum_index_compatibility_version" : "1.2.3"
  },
  "tagline" : "You Know, for Search"
}

配置为守护进程

./bin/elasticsearch -d -p pid

要关闭 Elasticsearch,请终止pid文件中记录的进程 ID :

pkill - F pid

设置开机启动

systemctl enable elasticsearch 

关于systemctl 命令的详细解释https://blog.csdn.net/skh2015java/article/details/94012643

存入数据的数据

 自动生成的索引:

 单词ID:记录每个单词的单词编号;
单词:对应的单词;
文档频率:代表文档集合中有多少个文档包含某个单词;
倒排列表:包含单词ID及其他必要信息;
DocId:单词出现的文档id;TF:单词在某个文档中出现的次数;POS:单词在文档中出现的位置


     以单词“加盟”为例,其单词编号为6,文档频率为3,代表整个文档集合中有三个文档包含这个单词,对应的倒排列表为{(2;1;<4>),(3;1;<7>),(5;1;<5>)},含义是在文档2,3,5出现过这个单词,在每个文档的出现过1次,单词“加盟”在第一个文档的POS是4,即文档的第四个单词是“加盟”,其他的类似。

词典:

基本概念:

索引(indices)--------------------------------Databases 数据库
​
  类型(type)-----------------------------Table 数据表
​
     文档(Document)----------------Row 行
​
       字段(Field)-------------------Columns 列 

详细说明:

概念说明
索引库(indices)indices是index的复数,代表许多的索引,
类型(type)类型是模拟mysql中的table概念,一个索引库下可以有不同类型的索引,比如商品索引,订单索引,其数据格式不同。不过这会导致索引库混乱,因此未来版本中会移除这个概念
文档(document)存入索引库原始的数据。比如每一条商品信息,就是一个文档
字段(field)文档中的属性
映射配置(mappings)字段的数据类型、属性、是否索引、是否存储等特性
public enum FieldType {
    Text,
    Integer,
    Long,
    Date,
    Float,
    Double,
    Boolean,
    Object,
    Auto,
    Nested,
    Ip,
    Attachment,
    Keyword;

    private FieldType() {
    }
}

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值