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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/56288.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL 的数据类型

1.整数类型 1.1 tinyint tinyint 为小整数类型,存储空间为1个字节(8位),有符号范围-128 ~ 127,无符号范围 0 ~ 255,此类型通常在数据库中表示类型的字段,如某一字段 type 表示学科,其中 “type1” 表示语文…

什么是芯片正向设计和芯片反向设计?

什么是芯片反向设计?反向设计其实就是芯片反向设计,它是通过对芯片内部电路的提取与分析、整理,实现对芯片技术原理、设计思路、工艺制造、结构机制等方面的深入洞悉,可用来验证设计框架或者分析信息流在技术上的问题,…

C++学习,标准库 <functional>

C 标准库 <functional> 头文件提供了一组函数模板&#xff0c;这些模板允许使用函数对象&#xff08;function objects&#xff09;作为参数传递给算法&#xff0c;或者作为算法的返回值。函数对象是那些重载了 operator() 的对象&#xff0c;它们可以像普通函数一样被调…

004、合并两个有序数组

0、题目描述 合并两个有序数组 1、法1 数组nums1有m个元素&#xff0c; 直接在下标为m的位置处追加nums2的元素。然后再qsort整体排序。 —— —— qsort函数&#xff0c;&#xff08;数组首元素地址&#xff0c;排序的个数&#xff0c;排序元素大小&#xff0c; 比较函数&…

要创建一个带有vue的uniAPP需要具备什么资质

要创建一个带有Vue的UniApp&#xff0c;主要需要的是技术能力和相关开发经验&#xff0c;而非特定的资质证书。不过&#xff0c;从一般性的角度来看&#xff0c;以下是创建此类应用时可能需要考虑的一些方面&#xff1a; 一、技术能力 Vue.js基础&#xff1a; 熟悉Vue.js的语法…

从零实现高并发内存池

目录 1. 项目介绍1.1 这个项目具体功能是什么&#xff1f;1.2 本项目的知识储备 2. 什么是内存池2.1 池化技术2.2 内存池主要解决的问题2.3 malloc 3. 定长内存池设计4. 高并发内存池整体框架设计4.1 Thread Cache的设计思路4.2 Central Cache的设计思路4.3 Page Cache的设计思…

Vue工程化结构环境安装及搭建教程 : 之nvm

vue需要的环境&#xff1a; node.js : Node.js和Vue.js通常会一起使用。Node.js作为后端服务器&#xff0c;处理服务器端的逻辑和数据访问&#xff0c;而Vue.js则负责前端用户界面的构建和交互。通过Ajax通信&#xff0c;Vue.js应用程序向Node.js服务器发送请求&#xff0c;并…

【知识科普】单元测试框架TestNG介绍

文章目录 TestNG概述常用注解说明springboot项目集成比较完整的示例步骤 1: 创建被测试的类步骤 2: 编写TestNG测试用例步骤 3: 运行测试步骤 4: 查看测试报告 TestNG概述 TestNG是一个开源的自动化测试框架&#xff0c;它在JUnit和NUnit的基础上增加了很多强大的功能&#xf…

模电板测试分析报告【运放直流偏置电路】

测试方法&#xff1a;输入一个1K正弦波,调节R80观看是否进行偏置调节。 需要接正负电源。 按照这个计算公式&#xff0c;信号在第二极被放大了11倍。 这么看的话第一级也被放大了10倍&#xff1a; R79是用来调节增益的&#xff0c;R80是用来调节偏置的&#xff1a; 芯片介绍&a…

大学生入学审核系统(论文+源码)_kaic

摘要 随着信息技术在管理上越来越深入而广泛的应用&#xff0c;管理信息系统的实施在技术上已逐步成熟。本文介绍了大学生入学审核系统的开发全过程。通过分析大学生入学审核系统管理的不足&#xff0c;创建了一个计算机管理大学生入学审核系统的方案。文章介绍了大学生入学审核…

【C语言】你不知道的知识小盲区——柔性数组

文章目录 一、什么是柔性数组二、柔性数组的特点三、柔性数组的使用四、柔性数组的优势 一、什么是柔性数组 也许你从来没有听说过柔性数组&#xff08;flexible array&#xff09;这个概念&#xff0c;但是它确实是存在的。在C99标准中&#xff0c;如果结构体的最后一个成员是…

Spring Integration + MQTT

1. 简介 Spring Integration&#xff1a; Spring Integration是一个开源的Java库&#xff0c;用于构建基于消息的应用程序。它提供了一套丰富的组件和工具&#xff0c;使得开发者可以轻松地开发出可靠、灵活和可扩展的集成解决方案。以下是Spring Integration的一些主要用途&…

电话聊天狂人

给定大量手机用户通话记录&#xff0c;找出其中通话次数最多的聊天狂人。 输入格式: 输入首先给出正整数N&#xff08;≤105&#xff09;&#xff0c;为通话记录条数。随后N行&#xff0c;每行给出一条通话记录。简单起见&#xff0c;这里只列出拨出方和接收方的11位数字构成…

jenkins 插件Publish Over SSH

一、安装插件 二、配置sshserver http://192.168.31.156:8080/manage/configure 三、添加自由风格&#xff1a;PublishOverSSHDemo 我们将工作目录&#xff1a;/var/lib/jenkins/workspace/PublishOverSSHDemo下的图片m3.jpeg 同步到目标143服务器目录&#xff1a;/root/imag…

Python脚本爬取目标网站上的所有链接

一、爬取后txt文件保存 需要先pip install requests和BeautifulSoup库 import requests from bs4 import BeautifulSoup# 定义要爬取的新闻网站URL url https://www.chinadaily.com.cn/ # China Daily 网站# 发送请求获取页面内容 response requests.get(url)# 检查请求是否…

Jgit的使用

Jgit的使用 文章目录 Jgit的使用一&#xff0c;git操作的对应代码1.1 查看操作1.1.1 打开仓库1.1.3 获取状态信息 1.2 添加操作1.2.1 初始化本地仓库1.2.2 创建一个新文件并写入内容1.2.3 添加指定&#xff08;所有&#xff09;文件到暂存区1.2.4 提交操作1.2.5 连接并推送到远…

Android中的三种数据存储方式

目录 1.文件存储 1&#xff09;内部存储 1--MODE_PRIVATE: 2--MODE_APPEND: 3--MODE_WORLD_READABLE: 4--MODE_WORLD_WRITEABLE: 5--简单使用 3&#xff09;外部存储 4&#xff09;内部读取 4&#xff09;外部读取 2.SharePreferences存储 1&#xff09;基本概念 2&#xff09…

设计模式 - 行为模式

行为模式 观察者模式&#xff0c;策略模式&#xff0c;命令模式&#xff0c;中介者模式&#xff0c;备忘录模式&#xff0c;模板方法模式&#xff0c;迭代器模式&#xff0c;状态模式&#xff0c;责任链模式&#xff0c;解释器模式&#xff0c;访问者模式 保存/封装 行为/请求…

MySQL表连接查询算法

前言 MySQL属于关系型数据库&#xff0c;我们建的表大多也都存在业务上的关联关系&#xff0c;同时我们又不可能将所有的数据都冗余一份&#xff0c;这不符合数据库的设计范式。因此&#xff0c;当我们需要把多张表的数据融合在一起的时候&#xff0c;就需要使用到「多表连接查…

CSS伪元素详解

CSS伪元素详解 一、引言 在CSS中&#xff0c;伪元素是一个非常强大的工具&#xff0c;它允许我们为元素的特定部分添加样式&#xff0c;而无需修改HTML结构。这不仅提高了样式的灵活性&#xff0c;还有助于保持代码的整洁和可维护性。本文将深入探讨CSS伪元素的使用方法和一些…