欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 养生 > 020 elasticsearch7.10.2 elasticsearch-head kibana安装

020 elasticsearch7.10.2 elasticsearch-head kibana安装

2025/4/25 20:22:30 来源:https://blog.csdn.net/m0_46695127/article/details/142874828  浏览:    关键词: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

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词