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

020 elasticsearch7.10.2 elasticsearch-head kibana安装

文章目录

    • 全文检索流程
    • ElasticSearch介绍
    • ElasticSearch应用场景
    • elasticsearch安装
      • 允许远程访问
      • 设置vm.max_map_count 的值
    • elasticsearch-head
      • 允许跨域
    • kibana

在这里插入图片描述

商品数量超千万,数据库无法使用索引
如何使用全文检索:

  1. 使用lucene,在java中唯一的一个全文检索技术。是一个全文检索工具包。很少直接使用
  2. Solr、Elasticsearch,都是基于Lucene的全文检索服务器。独立运行,支持集群
    实时搜索时,ES的性能更好

https://www.elastic.co/cn/downloads/elasticsearch
https://www.elastic.co/cn/downloads/beats/filebeat
https://elasticsearch.cn/

https://www.elastic.co/cn/downloads/past-releases/elasticsearch-7-10-2
https://www.elastic.co/cn/downloads/past-releases/kibana-7-10-2
https://www.elastic.co/cn/downloads/past-releases/logstash-7-10-2
https://www.elastic.co/cn/downloads/past-releases/filebeat-7-10-2
https://github.com/mobz/elasticsearch-head

全文检索流程

  1. 创建索引
    1 采集数据
    2 创建文档对象
    把原始文档进行封装Document对象
    其中包含多个field
    每个field可以自定义一个名称,不同的Document中可以有不同的field
    3 分析文档
    对其中需要分析的field进行分析处理
    分词:进行关键词拆分
    去除标点符号,合并相同的单词
    去除停用词
    转换大小写
    最终得到一个单词列表
    其中并不是所有的field都需要分析,例如文件的路径
    单词列表中,其中一个关键词就是一个term
    4 创建索引
    其中包含三部分内容:

    1. 索引:基于关键词(term)创建的。
    2. 文档对象:Document,第二步封装好的Document对象。
    3. 关键词和文档的对应关系
  2. 查询索引
    1.用户接口 用户输入查询内容 输入可以是一个关键词,也可以是一句话
    2.封装查询条件 需要把用户输入的内容进行分词处理,得到一个单词列表 需要指定要查询的field 查询条件:field:value
    3.执行查询 在索引中根据查询条件查询对应的字段,找到对应的关键词。如果关键词在索引中存在就能查询到结果,如果不存在就没有结果。 根据关键词找到对应的文档id列表,根据文档id查询到对应的Document对象
    4.展示结果 关键词的高亮显示,分页处理,根据相关度进行排序

ElasticSearch介绍

开源的高扩展的分布式全文检索引擎
使用Lucene作为其核心来实现所有索引和搜索的功能
ElasticSearch是面向文档型数据库,一条数据在这里就是一个文档
使用JSON作为文档序列化的格式
但是它的目的是通过简单的RESTful API来隐藏Lucene的复杂性

ElasticSearch应用场景

网站搜索:关键词搜索
数据预警:第三方插件:wathcer监控数据
数据分析:使用ES存储分析海量数据(对日志的存储和分析,也是比较适合)
日志分析:ELK经典组合:ElasticSearch + logstash + kibana

elasticsearch安装

sudo chown username:username elasticsearch-7.10.2-linux-x86_64.tar.gz
sudo tar zxf elasticsearch-7.10.2-linux-x86_64.tar.gz

在bin目录下./elasticsearch -d 启动

ps aux|grep elastic
kill -9 xx

执行dmesg -T | tail查看最后几条内核日志,或使用journalctl -xb | egrep -i 'killed process'来搜索被杀死进程的日志。
使用top或htop命令实时监控进程的内存占用情况。特别是关注那些占用内存较大的进程,看是否有异常增长。
查看Elasticsearch的配置文件(如jvm.options),确保JVM内存设置(如-Xms和-Xmx)合理,不会超出系统可用内存的范围。

curl 127.0.0.1:9200
ifconfig

允许远程访问

vim elasticsearch.yml
network.host: 0.0.0.0

es即便是单机版,也是当作集群来处理,得知道集群中其他节点都有哪些

discovery.seed_hosts:[""]

设置vm.max_map_count 的值

ERROR: [1] bootstrap checks failed  
[1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

这个问题表明系统配置中 vm.max_map_count 的值太低,无法满足 Elasticsearch 的需求。vm.max_map_count 参数定义了进程可以拥有的最大虚拟内存区域数量,这对于 Elasticsearch 的正常运行至关重要,因为它需要大量的内存映射区域来管理其索引数据。

要解决这个问题,需要增加 vm.max_map_count 的值。可以按照以下步骤操作:

临时设置(重启后失效):
打开终端,输入以下命令来临时增加 vm.max_map_count 的值:

sudo sysctl -w vm.max_map_count=262144

永久设置(需要修改配置文件):
编辑 /etc/sysctl.conf 文件,添加或修改以下行:

vm.max_map_count=262144

保存文件后,运行以下命令使更改生效:

sudo sysctl -p

elasticsearch-head

允许跨域

node -v
npm start
vim elasticsearch.yml
http.cors.enabled: true
http.cors.allow-origin: "*"

kibana

tar zxf kibana-7.10.2-linux-x86_64.tar.gz
vim kibana.yml
server.host: "0.0.0.0"
elasticsearch.hosts: ["http://localhost:9200"]
./kibana

相关文章:

020 elasticsearch7.10.2 elasticsearch-head kibana安装

文章目录 全文检索流程ElasticSearch介绍ElasticSearch应用场景elasticsearch安装允许远程访问设置vm.max_map_count 的值 elasticsearch-head允许跨域 kibana 商品数量超千万,数据库无法使用索引 如何使用全文检索: 使用lucene,在java中唯一…...

基于SpringBoot+Vue的蜗牛兼职网的设计与实现(带文档)

基于SpringBootVue的蜗牛兼职网的设计与实现(带文档) 开发语言:Java数据库:MySQL技术:SpringBootMyBatisVue等工具:IDEA/Ecilpse、Navicat、Maven 该系统主要分为三个角色:管理员、用户和企业,每个角色都有其独特的功能模块,以满…...

Linux 命令 chown 和 chmod 的区别

Linux 命令 chown 和 chmod 的区别 chown的作用:更改文件或目录的所有者和所属用户组chmod的作用:更改文件或目录的访问权限 chown的作用:更改文件或目录的所有者和所属用户组 $ chown [options] user:group file_pathuser:新文件…...

盘点慢查询原因及优化方法

目录 一,前言二,准备 type重点看 三,慢查询原因和解决 1,sql未加索引2,索引失效3,limit深分页问题 (1)limit深分页为什么会慢(2)深分页优化 4,in…...

【热门】智慧果园管理系统解决方案

随着科技的进步,原有农业种植方式已经不能满足社会发展的需要,必须对传统的农业进行技术更新和改造。经过多年的实践,人们总结出一种新的种植方法——温室农业,即“用人工设施控制环境因素,使作物获得最适宜的生长条件,从而延长生产季节,获得最佳的产出”。这种农业生产方式…...

torch.nn.Sequential介绍

torch.nn.Sequential 是 PyTorch 中一个模块容器,用于将一系列层或模块按顺序连接在一起,简化前向传播过程。在 Sequential 中,所有的子模块会按照添加的顺序被执行,适合那些有明确顺序的神经网络结构,比如卷积神经网络、全连接网络等。 主要特点 按顺序执行: 将多个子模…...

使用verilog设计实现的数字滤波器(低通、高通、带通)及其仿真

以下是一个简单的使用Verilog设计数字滤波器(以有限脉冲响应(FIR)滤波器为例,实现低通、高通、带通滤波器)的基本步骤和代码框架: 一、FIR滤波器原理 FIR滤波器的输出 y [ n ] y[n] y[n] 是输入信号...

KPaaS集成平台中怎么创建数据可视化大屏

KPaaS集成平台的数据可视化大屏是什么? 在KPaaS业务集成扩展平台中,数据大屏是一种数据可视化展示工具,它可以帮助企业将复杂的数据以直观、易理解的方式呈现出来,从而提高数据的可读性和价值。数据大屏的主要特点包括&#xff1…...

深度学习:网络压缩(Network Compression)详解

网络压缩(Network Compression)详解 网络压缩是一种旨在减小深度学习模型大小,提高其运行效率和降低计算资源消耗的技术。在移动设备和嵌入式系统等资源受限的环境中,网络压缩尤为重要。它允许这些设备利用现有的深度学习技术&am…...

Go pprof性能分析

pprof是Go语言内置的性能分析工具,它可以帮助我们分析程序的CPU使用情况、内存分配等。 pprof 包含两部分: Go语言内置的两个包 net/http/pprof 对 runtime/pprof 的二次封装,一般是服务型应用。比如 web server ,它一直运行。这…...

扬帆出海!九章云极DataCanvas公司惊艳亮相迪拜GITEX Global 2024

近日, 第44届GITEX GLOBAL展会(GITEX GLOBAL 2024)及全球领先的创业与投资盛会Expand North Star 2024在迪拜盛大启幕。九章云极DataCanvas公司惊艳亮相盛会,向全球观众展示智算领域最新研发进展与创新成果,在国际舞台…...

Qt | 元对象+元枚举+Qt自带图标案例

点击上方"蓝字"关注我们 01、QMetaObject >>> QMetaObject 是 Qt 中用于反射的一个类,提供了有关类的信息,包括属性、信号和槽等。它是 Qt 的元对象系统的核心部分,允许您在运行时获取有关 Qt 对象的详细信息。这种功能在使用 Qt 的信号与槽机制、属性系…...

linux升级cmake

如果出现如下报错,就应该升级cmake了! CMake Error at CMakeLists.txt:1 (cmake_minimum_required): CMake 3.1 or higher is required. You are running version 2.8.12.2 -- Configuring incomplete, errors occurred! 官网 可以下载各个版本的cma…...

ip a查看网卡接口信息

ip a命令是用于查看和管理网络接口信息的命令。通过执行ip a命令,可以查看当前系统上所有网络接口的配置信息,包括IP地址、子网掩码、网关、MAC地址等。该命令还可以用于配置网络接口的参数,如设置IP地址、启用或禁用接口等操作。 # ip a 1:…...

centos celery 日志管理

celery经常会产生大量日志,长时间累计下来会对服务器造成一定的压力 1 配置 logrotate 进行日志拆分 logrotate 是 Linux 系统中常用的日志管理工具。我们将使用它来管理 Celery 的日志文件,确保日志文件不会无限增长,并定期拆分、归档和删…...

深度学习(DL)实战——基本概念介绍

公众号:自学编程村,关注后,回复“书籍”,领取1000多本计算机书籍。涵盖语言语法、数据结构算法、AI相关书籍、开发相关等等各种书籍,应有尽有,你总会用到。 关注方式见主页或文章底部。想要加群可从公众号中…...

较新(24.3)加速Diffusion模型推理的方法,附带参考文献

1.采用fast ODE solvers: Karras, T., Aittala, M., Aila, T., Laine, S.: Elucidating the design space of diffusionbased generative models. In: Conference on Neural Information Processing Systems (NeurIPS) (2022) Lu, C., Zhou, Y., Bao, F., Chen, J…...

硬件产品经理的开店冒险之旅(上篇)

这是一篇流水账式的个人履历小结,算是迎接接下来的人生第二职业曲线。未来将不定期更新在第二职业方面的探索过程记录,既当作自己的冒险之旅记录,也期望有机会让自己的经历能在互联网上留下一些印记。 一些职业生涯小记:目前的状…...

「C++」类和对象最终回

目录 前言 初始化列表: 使用及特点: 总结: 案例分析: 类型转换 单参数构造函数: 多参数构造函数: static成员 友元 内部类 匿名对象 特点 使用方法: 匿名对象使用实例补充&#…...

ELK:Elasticsearch、Logstash、Kibana Spring Cloud Sleuth和Spring Cloud Zipkin

〇、虚拟机中docker安装elasticsearch 、Kibana、Logstash elasticsearch导入中文分词器 Logstash修改es数据库ip及创建索引名配置 一、elasticsearch数据库的结构 和mysql作比较,mysql中的数据库的二维表相当于es数据库的index索引结构;mysql数据库的二…...

uniapp 对接腾讯云IM群组成员管理(增删改查)

UniApp 实战:腾讯云IM群组成员管理(增删改查) 一、前言 在社交类App开发中,群组成员管理是核心功能之一。本文将基于UniApp框架,结合腾讯云IM SDK,详细讲解如何实现群组成员的增删改查全流程。 权限校验…...

Flask RESTful 示例

目录 1. 环境准备2. 安装依赖3. 修改main.py4. 运行应用5. API使用示例获取所有任务获取单个任务创建新任务更新任务删除任务 中文乱码问题: 下面创建一个简单的Flask RESTful API示例。首先,我们需要创建环境,安装必要的依赖,然后…...

Zustand 状态管理库:极简而强大的解决方案

Zustand 是一个轻量级、快速和可扩展的状态管理库,特别适合 React 应用。它以简洁的 API 和高效的性能解决了 Redux 等状态管理方案中的繁琐问题。 核心优势对比 基本使用指南 1. 创建 Store // store.js import create from zustandconst useStore create((set)…...

MySQL 隔离级别:脏读、幻读及不可重复读的原理与示例

一、MySQL 隔离级别 MySQL 提供了四种隔离级别,用于控制事务之间的并发访问以及数据的可见性,不同隔离级别对脏读、幻读、不可重复读这几种并发数据问题有着不同的处理方式,具体如下: 隔离级别脏读不可重复读幻读性能特点及锁机制读未提交(READ UNCOMMITTED)允许出现允许…...

QMC5883L的驱动

简介 本篇文章的代码已经上传到了github上面,开源代码 作为一个电子罗盘模块,我们可以通过I2C从中获取偏航角yaw,相对于六轴陀螺仪的yaw,qmc5883l几乎不会零飘并且成本较低。 参考资料 QMC5883L磁场传感器驱动 QMC5883L磁力计…...

为什么需要建设工程项目管理?工程项目管理有哪些亮点功能?

在建筑行业,项目管理的重要性不言而喻。随着工程规模的扩大、技术复杂度的提升,传统的管理模式已经难以满足现代工程的需求。过去,许多企业依赖手工记录、口头沟通和分散的信息管理,导致效率低下、成本失控、风险频发。例如&#…...

Linux简单的操作

ls ls 查看当前目录 ll 查看详细内容 ls -a 查看所有的内容 ls --help 查看方法文档 pwd pwd 查看当前路径 cd cd 转路径 cd .. 转上一级路径 cd 名 转换路径 …...

转转集团旗下首家二手多品类循环仓店“超级转转”开业

6月9日,国内领先的循环经济企业转转集团旗下首家二手多品类循环仓店“超级转转”正式开业。 转转集团创始人兼CEO黄炜、转转循环时尚发起人朱珠、转转集团COO兼红布林CEO胡伟琨、王府井集团副总裁祝捷等出席了开业剪彩仪式。 据「TMT星球」了解,“超级…...

是否存在路径(FIFOBB算法)

题目描述 一个具有 n 个顶点e条边的无向图,该图顶点的编号依次为0到n-1且不存在顶点与自身相连的边。请使用FIFOBB算法编写程序,确定是否存在从顶点 source到顶点 destination的路径。 输入 第一行两个整数,分别表示n 和 e 的值(1…...

scikit-learn机器学习

# 同时添加如下代码, 这样每次环境(kernel)启动的时候只要运行下方代码即可: # Also add the following code, # so that every time the environment (kernel) starts, # just run the following code: import sys sys.path.append(/home/aistudio/external-libraries)机…...