当前位置: 首页 > 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
http://www.lryc.cn/news/462896.html

相关文章:

  • 基于SpringBoot+Vue的蜗牛兼职网的设计与实现(带文档)
  • Linux 命令 chown 和 chmod 的区别
  • 盘点慢查询原因及优化方法
  • 【热门】智慧果园管理系统解决方案
  • torch.nn.Sequential介绍
  • 使用verilog设计实现的数字滤波器(低通、高通、带通)及其仿真
  • KPaaS集成平台中怎么创建数据可视化大屏
  • 深度学习:网络压缩(Network Compression)详解
  • Go pprof性能分析
  • 扬帆出海!九章云极DataCanvas公司惊艳亮相迪拜GITEX Global 2024
  • Qt | 元对象+元枚举+Qt自带图标案例
  • linux升级cmake
  • ip a查看网卡接口信息
  • centos celery 日志管理
  • 深度学习(DL)实战——基本概念介绍
  • 较新(24.3)加速Diffusion模型推理的方法,附带参考文献
  • 硬件产品经理的开店冒险之旅(上篇)
  • 「C++」类和对象最终回
  • ELK:Elasticsearch、Logstash、Kibana Spring Cloud Sleuth和Spring Cloud Zipkin
  • 动态规划17:123. 买卖股票的最佳时机 III
  • 华为OD机试真题---预定酒店
  • 力扣242.有效的字母异位词
  • Android IP路由策略和防火墙
  • MySQL insert ... select 语句锁表导致数据写不进去
  • Android摄像头Camera2和Camera1的一些总结
  • 【Linux 从基础到进阶】Linux中的用户认证与授权
  • 用户界面设计:视觉美学与交互逻辑的融合
  • ZK集群搭建:详细步骤与注意事项
  • 如何将csdn文章导出为pdf
  • 【艾思科蓝】Imagen:重塑图像生成领域的革命性突破