当前位置: 首页 > news >正文

Elasticsearch 简介与安装

简介

Elasticsearch 是一个开源的搜索引擎,建立在一个全文搜索引擎库 Apache Lucene™ 基础之上。 Lucene 可以说是当下最先进、高性能、全功能的搜索引擎库—​无论是开源还是私有。

但是 Lucene 仅仅只是一个库。为了充分发挥其功能,你需要使用 Java 并将 Lucene 直接集成到应用程序中。 更糟糕的是,您可能需要获得信息检索学位才能了解其工作原理。Lucene 非常 复杂。

Elasticsearch 也是使用 Java 编写的,它的内部使用 Lucene 做索引与搜索,但是它的目的是使全文检索变得简单, 通过隐藏 Lucene 的复杂性,取而代之的提供一套简单一致的 RESTful API。

然而,Elasticsearch 不仅仅是 Lucene,并且也不仅仅只是一个全文搜索引擎。 它可以被下面这样准确的形容:

  • 一个分布式的实时文档存储,每个字段 可以被索引与搜索
  • 一个分布式实时分析搜索引擎
  • 能胜任上百个服务节点的扩展,并支持 PB 级别的结构化或者非结构化数据

安装方式

  1. 源码包安装(可到官网下载地址下载linux、mac、windows对应的源码包)- 本文使用该方式安装到 linux
  2. apt 或 yum 在线安装
  3. rpm安装
  4. docker安装等

官网地址

官方文档地址:https://www.elastic.co/guide/en/elasticsearch/reference/8.6/getting-started.html
最新版本下载地址:https://www.elastic.co/cn/downloads/elasticsearch

源码包下载

在这里插入图片描述

本文的下载版本为:elasticsearch-8.6.2-linux-x86_64.tar.gz (8.6.2)

安装

1. 解压 elasticsearch-8.6.2-linux-x86_64.tar.gz

解压后的目录如下:

在这里插入图片描述

  • bin:es相关命令目录
  • config:es相关配置目录,主要包括 elasticsearch.yml 等,TLS密钥证书等默认生成在此目录的 certs 目录下。certs 在首次启动es的时候才会生成
  • data:节点上分配的每个索引/分片的数据文件的位置(启动之后才会生成,可通过 path.data 配置),默认在$ES_HOME/data目录,建议配置在$ES_HOME之外的目录,避免ES在升级的时候被覆盖
  • logs:日志文件目录(可通过 path.logs 配置)默认在$ES_HOME/logs目录,建议配置在$ES_HOME之外的目录,避免ES在升级的时候被覆盖
  • plugins:插件存放目录(比如我们后续要安装的ik中文分词器插件)
  • jdk:自带的 jdk 目录,可进入目录后执行java -version 查看其版本

建议更改配置目录、数据目录和日志目录的默认位置 这些配置都在 elasticsearch.yml 中。

启动

./bin/elasticsearch

首次启动 Elasticsearch 时,默认情况下会启用和配置安全功能。以下配置会自动生成:

  • 启用 elastic 用户的身份验证和授权,设置为内置超级用户生成并打印密码。
  • 生成 TLS 的证书和密钥,并使用这些密钥和证书启用和配置 TLS。
  • 为 Kibana 生成注册令牌,有效期为 30 分钟。

以上生成的内容大概如下:

The generated password for the elastic built-in superuser is:
<password>The enrollment token for Kibana instances, valid for the next 30 minutes:
<enrollment-token>The hex-encoded SHA-256 fingerprint of the generated HTTPS CA DER-encoded certificate:
<fingerprint>You can complete the following actions at any time:
Reset the password of the elastic built-in superuser with
'bin/elasticsearch-reset-password -u elastic'.Generate an enrollment token for Kibana instances with
'bin/elasticsearch-create-enrollment-token -s kibana'.Generate an enrollment token for Elasticsearch nodes with
'bin/elasticsearch-create-enrollment-token -s node'.

示例图
在这里插入图片描述

注:elastic 的密码最好保存一下,我们接下来就会使用

验证启动是否成功

直接在本地通过curl命令访问

curl --cacert /DATA/soft/es/elasticsearch-8.6.2/config/certs/http_ca.crt -u elastic https://localhost:9200

执行后输入 elastic 账号的密码,返回如下内容

{"name" : "cspl-dev","cluster_name" : "elasticsearch","cluster_uuid" : "iozzv0S0Q6mKwgNnfAA8Xw","version" : {"number" : "8.6.2","build_flavor" : "default","build_type" : "tar","build_hash" : "2d58d0f136141f03239816a4e360a8d17b6d8f29","build_date" : "2023-02-13T09:35:20.314882762Z","build_snapshot" : false,"lucene_version" : "9.4.2","minimum_wire_compatibility_version" : "7.17.0","minimum_index_compatibility_version" : "7.0.0"},"tagline" : "You Know, for Search"
}

在这里插入图片描述
我们也可以通过浏览器输入账号密码后直接访问
在这里插入图片描述
至此,单机安装并启动es就完成了。不过此启动方式是前台运行方式,使用Ctrl + C 即可关闭。

后台运行

./bin/elasticsearch -d -p pid
  • -d:表示后台执行
  • -p:表示将进程 pid 记录在文件 pid 中(pid文件生成后默认在 $ES_HOME 目录下)

关闭后台运行

pkill -F pid

注:因 pid 文件生成在 $ES_HOME 目录下,所以请在 $ES_HOME 目录下执行该命令

安全证书和密钥编辑

安装 Elasticsearch 时,会在 Elasticsearch 配置目录中生成以下证书和密钥,用于将 Kibana 实例连接到安全的 Elasticsearch 集群并加密节点间通信。

  • http_ca.crt
    用于为此 Elasticsearch 集群的 HTTP 层签署证书的 CA 证书。客户端连接需要信任此证书。
  • http.p12
    包含此节点的 HTTP 层的密钥和证书的密钥库。
  • transport.p12
    包含集群中所有节点的传输层密钥和证书的密钥库。
    http.p12并且transport.p12是受密码保护的 PKCS#12 密钥库。可以使用 bin/elasticsearch-keystore 命令,检索或更改密钥库内容

检索 http.p12

bin/elasticsearch-keystore show xpack.security.http.ssl.keystore.secure_password

检索 transport.p12

bin/elasticsearch-keystore show xpack.security.transport.ssl.keystore.secure_password

相关文章:

Elasticsearch 简介与安装

简介 Elasticsearch 是一个开源的搜索引擎&#xff0c;建立在一个全文搜索引擎库 Apache Lucene™ 基础之上。 Lucene 可以说是当下最先进、高性能、全功能的搜索引擎库—​无论是开源还是私有。 但是 Lucene 仅仅只是一个库。为了充分发挥其功能&#xff0c;你需要使用 Java…...

Qt5.12实战之QByteArray与字符指针及字符串转换

示例源码:#include <QCoreApplication> #include <QDebug> #include <QTextStream> static QTextStream cout (stdout,QIODevice::WriteOnly); #include <iostream> #include <QtGlobal> #include <QByteArray>void test() {qDebug() <…...

二、ElasticSearch基础语法

目录一、简单了解ik分词器(分词效果)1.standard(单字分词器&#xff0c;es默认分词器)2.ik_smart分词(粗粒度的拆分)3.ik_max_word分词器&#xff08;最细粒度拆分&#xff09;二、指定默认分词器1.为索引指定默认分词器三、ES操作数据1.概述2.创建索引3.查询索引4.删除索引5.添…...

Yolov8详解与实战

文章目录摘要模型详解C2F模块Losshead部分模型实战训练COCO数据集下载数据集COCO转yolo格式数据集&#xff08;适用V4&#xff0c;V5&#xff0c;V6&#xff0c;V7&#xff0c;V8&#xff09;配置yolov8环境训练测试训练自定义数据集Labelme数据集摘要 YOLOv8 是 ultralytics …...

多线程案例——阻塞队列

目录 一、阻塞队列 1. 生产者消费者模型 &#xff08;1&#xff09;解耦合 &#xff08;2&#xff09;“削峰填谷” 2. 标准库中的阻塞队列 3. 自己实现一个阻塞队列&#xff08;代码&#xff09; 4. 自己实现生产者消费者模型&#xff08;代码&#xff09; 一、阻塞队列…...

学习优秀博文(【国产MCU移植】手把手教你使用RT-Thread制作GD32系列BSP)有感 | 文末赠书5本

学习优秀博文&#xff08;【guo产MCU移植】手把手教你使用RT-Thread制作GD32系列BSP&#xff09;有感 一篇优秀的博文是什么样的&#xff1f;它有什么规律可循吗&#xff1f;优秀的guo产32位单片机处理器是否真的能成功替换掉stm32的垄断地位&#xff1f; 本文博主以亲身经历聊…...

写用例写的焦头烂额?看看摸鱼5年的老点工是怎么写的...

给你个需求&#xff0c;你要怎么转变成最终的用例&#xff1f; 直接把需求文档翻译一下就完事了。 老点工拿到需求后的标准操作&#xff1a; 第一步&#xff1a;解析需求 先解析需求-找出所有需求中的动词&#xff0c;再列出所有测试点。测试点过程不断发散&#xff0c;对于…...

基于深度学习的鸟类检测识别系统(含UI界面,Python代码)

摘要&#xff1a;鸟类识别是深度学习和机器视觉领域的一个热门应用&#xff0c;本文详细介绍基于YOLOv5的鸟类检测识别系统&#xff0c;在介绍算法原理的同时&#xff0c;给出Python的实现代码以及PyQt的UI界面。在界面中可以选择各种鸟类图片、视频以及开启摄像头进行检测识别…...

零基础搭建Tomcat集群(超详细)

&#x1f497;推荐阅读文章&#x1f497; &#x1f338;JavaSE系列&#x1f338;&#x1f449;1️⃣《JavaSE系列教程》&#x1f33a;MySQL系列&#x1f33a;&#x1f449;2️⃣《MySQL系列教程》&#x1f340;JavaWeb系列&#x1f340;&#x1f449;3️⃣《JavaWeb系列教程》…...

机器学习自学笔记——聚类

聚类的基本概念 聚类&#xff0c;顾名思义&#xff0c;就是将一个数据集中各个样本点聚集成不同的“类”。每个类中的样本点都有某些相似的特征。比如图书馆中&#xff0c;会把成百上千的书分成不同的类别&#xff1a;科普书、漫画书、科幻书等等&#xff0c;方便人们查找。每…...

注意下C语言整形提升

C语言整形提升 C语言整形提升是指在表达式中使用多种类型的数据时&#xff0c;编译器会自动将较小的类型转换为较大的类型&#xff0c;以便进行运算。在C语言中&#xff0c;整型提升规则如下&#xff1a; 如果表达式中存在short类型&#xff0c;则将其自动转换为int类型。 如…...

Go panic的学习

一、前言 我们的应用程序常常会出现异常&#xff0c;包括由运行时检测到的异常或者应用开发者自己抛出的异常。 异常在一些其他语言中&#xff0c;如c、java&#xff0c;被叫做Exception&#xff0c;主要由抛出异常和捕获异常两部分组成。异常在go语言中&#xff0c;叫做pani…...

讲解Linux中samba理论讲解及Linux共享访问

♥️作者&#xff1a;小刘在C站 ♥️个人主页&#xff1a;小刘主页 ♥️每天分享云计算网络运维课堂笔记&#xff0c;努力不一定有收获&#xff0c;但一定会有收获加油&#xff01;一起努力&#xff0c;共赴美好人生&#xff01; ♥️夕阳下&#xff0c;是最美的绽放&#xff0…...

【C++笔试强训】第三十二天

&#x1f387;C笔试强训 博客主页&#xff1a;一起去看日落吗分享博主的C刷题日常&#xff0c;大家一起学习博主的能力有限&#xff0c;出现错误希望大家不吝赐教分享给大家一句我很喜欢的话&#xff1a;夜色难免微凉&#xff0c;前方必有曙光 &#x1f31e;。 &#x1f4a6;&a…...

OpenAI GPT-4震撼发布:多模态大模型

OpenAI GPT-4震撼发布&#xff1a;多模态大模型发布要点GPT4的新功能GPT-4:我能玩梗图GPT4:理解图片GPT4:识别与解析图片内容怎样面对GPT4申请 GPT-4 API前言&#xff1a; &#x1f3e0;个人主页&#xff1a;以山河作礼。 &#x1f4dd;​&#x1f4dd;:本文章是帮助大家更加了…...

手把手教你 在linux上安装kafka

目录 1. 准备服务器 2. 选一台服务器配置kafka安装包 2.1 下载安装包 2.2 解压安装包 2.3 修改配置文件 3. 分发安装包到其他机器 4. 修改每台机器的broker.id 5. 配置环境变量 6. 启停kafka服务 6.1 启动kafak服务 6.2 停止kafka服务 1. 准备服务器 1.买几台云服务…...

Spring Cloud(微服务)学习篇(五)

Spring Cloud(微服务)学习篇(五) 1 nacos配置文件的读取 1.1 访问localhost:8848/index.html并输入账户密码后进入nacos界面并点击配置列表 1.2 点击右侧的号 1.3 点击加号后,进入新建配置界面,并做好如下配置 1.4 往下翻动,点击发布按钮 1.5 发布成功后的界面 1.6 在pom.xml…...

道阻且长,未来可期,从GPT-4窥得通用人工智能时代的冰山一角!

大家这两天是不是又被满屏的ChatGPT相关的文章信息给轰炸得不轻&#xff0c;说实话&#xff0c;我真的对ChatGPT的热度如此经久不衰这个问题非常感兴趣。从去年刚面世时&#xff0c;小范围内造成的行业震荡&#xff0c;到今年二月份铺天盖地得铺舆论造势&#xff0c;引发全民热…...

百度将?百度已!

仿佛一夜之间&#xff0c;创业公司OpenAI旗下的ChatGPT就火遍全球。这是一场十分罕见的科技盛宴。下到普通用户&#xff0c;上到各科技大厂都在讨论ChatGPT的前景&#xff0c;国外的微软、谷歌&#xff0c;国内的百度、腾讯、阿里等等都在布局相关业务。比尔盖茨更是称ChatGPT与…...

内核实验(三):编写简单Linux内核模块,使用Qemu加载ko做测试

文章目录一、篇头二、QEMU&#xff1a;挂载虚拟分区2.1 创建 sd.ext4.img 虚拟分区2.2 启动 Qemu2.3 手动挂载 sd.ext4.img三、实现一个简单的KO3.1 目录文件3.2 Makefile3.3 编译3.3.1 编译打印3.3.2 生成文件3.4 检查&#xff1a;objdump3.4.1 objdump -dS test\_1.ko3.4.2 o…...

【网络】每天掌握一个Linux命令 - iftop

在Linux系统中&#xff0c;iftop是网络管理的得力助手&#xff0c;能实时监控网络流量、连接情况等&#xff0c;帮助排查网络异常。接下来从多方面详细介绍它。 目录 【网络】每天掌握一个Linux命令 - iftop工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景…...

【根据当天日期输出明天的日期(需对闰年做判定)。】2022-5-15

缘由根据当天日期输出明天的日期(需对闰年做判定)。日期类型结构体如下&#xff1a; struct data{ int year; int month; int day;};-编程语言-CSDN问答 struct mdata{ int year; int month; int day; }mdata; int 天数(int year, int month) {switch (month){case 1: case 3:…...

linux之kylin系统nginx的安装

一、nginx的作用 1.可做高性能的web服务器 直接处理静态资源&#xff08;HTML/CSS/图片等&#xff09;&#xff0c;响应速度远超传统服务器类似apache支持高并发连接 2.反向代理服务器 隐藏后端服务器IP地址&#xff0c;提高安全性 3.负载均衡服务器 支持多种策略分发流量…...

ES6从入门到精通:前言

ES6简介 ES6&#xff08;ECMAScript 2015&#xff09;是JavaScript语言的重大更新&#xff0c;引入了许多新特性&#xff0c;包括语法糖、新数据类型、模块化支持等&#xff0c;显著提升了开发效率和代码可维护性。 核心知识点概览 变量声明 let 和 const 取代 var&#xf…...

MongoDB学习和应用(高效的非关系型数据库)

一丶 MongoDB简介 对于社交类软件的功能&#xff0c;我们需要对它的功能特点进行分析&#xff1a; 数据量会随着用户数增大而增大读多写少价值较低非好友看不到其动态信息地理位置的查询… 针对以上特点进行分析各大存储工具&#xff1a; mysql&#xff1a;关系型数据库&am…...

UE5 学习系列(三)创建和移动物体

这篇博客是该系列的第三篇&#xff0c;是在之前两篇博客的基础上展开&#xff0c;主要介绍如何在操作界面中创建和拖动物体&#xff0c;这篇博客跟随的视频链接如下&#xff1a; B 站视频&#xff1a;s03-创建和移动物体 如果你不打算开之前的博客并且对UE5 比较熟的话按照以…...

uniapp中使用aixos 报错

问题&#xff1a; 在uniapp中使用aixos&#xff0c;运行后报如下错误&#xff1a; AxiosError: There is no suitable adapter to dispatch the request since : - adapter xhr is not supported by the environment - adapter http is not available in the build 解决方案&…...

Android 之 kotlin 语言学习笔记三(Kotlin-Java 互操作)

参考官方文档&#xff1a;https://developer.android.google.cn/kotlin/interop?hlzh-cn 一、Java&#xff08;供 Kotlin 使用&#xff09; 1、不得使用硬关键字 不要使用 Kotlin 的任何硬关键字作为方法的名称 或字段。允许使用 Kotlin 的软关键字、修饰符关键字和特殊标识…...

微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据

微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据 Power Query 具有大量专门帮助您清理和准备数据以供分析的功能。 您将了解如何简化复杂模型、更改数据类型、重命名对象和透视数据。 您还将了解如何分析列&#xff0c;以便知晓哪些列包含有价值的数据&#xff0c;…...

免费PDF转图片工具

免费PDF转图片工具 一款简单易用的PDF转图片工具&#xff0c;可以将PDF文件快速转换为高质量PNG图片。无需安装复杂的软件&#xff0c;也不需要在线上传文件&#xff0c;保护您的隐私。 工具截图 主要特点 &#x1f680; 快速转换&#xff1a;本地转换&#xff0c;无需等待上…...