020 elasticsearch7.10.2 elasticsearch-head kibana安装

news2024/10/21 11:50:26

文章目录

    • 全文检索流程
    • 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.coloradmin.cn/o/2213923.html

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

相关文章

AI视频监控卫士:一键Docker简易安装,开源技术引领视频监控

AI视频监控卫士的主要应用场景: 我们决定开源的原因: 1. 灵活性与可定制性: 开源产品的代码对用户公开,允许开发者根据特定需求进行自定义和扩展。思通数科AI视频监控卫士作为开源项目,可以灵活适应不同企业或项目的需…

一些NLP代表性模型

(一)BERT 由Bidirectional Encoder Representations from Transformers的首字母组成,是encoder-only结构类型的代表。 模型分预训练和微调两步,预训练任务有两类:masked language model(MLM)、next sentence predict…

我作为TypeScript开发人员是如何学习Rust的

讲讲我作为TypeScript开发人员学习Rust的经验吧,希望对你有帮助 像许多开发人员一样,我通过专注于网络技术开始了我的编程生涯。我相信这是一个很好的起点,JavaScript,互联网的语言,以及许多,是一个令人难…

Axure原型设计秘籍:解锁高效设计与开发的宝藏工具

​ 在快速迭代的数字时代,原型设计成为了产品开发与用户体验优化的关键环节。Axure,作为一款备受推崇的原型设计工具,凭借其强大的功能、直观的界面和丰富的资源,成为了设计师和产品经理们的得力助手。本文将带你深入探索Axure的原…

JavaScript中的对象,常用内置对象和数据类型

一、对象 1.概念 什么是对象? 在JavaScript中,对象是一组无序的相关属性和方法集合,所有的事物都是对象,例如:字符串、数值、数组和函数等等。 对象是由属性和方法组成的。 属性:事物的特征,在…

使用CSS Flexbox创建简洁时间轴

使用CSS Flexbox创建简洁时间轴 在网页设计中,时间轴是一种常见且有效的方式来展示事件的顺序和进程。本文将介绍如何使用CSS Flexbox创建一个简洁优雅的时间轴,无需复杂的JavaScript代码。 基本HTML结构 首先,我们需要创建基本的HTML结构: html复制<div class"ti…

《CUDA编程》8.共享内存的合理使用

共享内存是 一种可被程序员直接操控的缓存&#xff0c;主要作用有两个&#xff1a; ①减少核函数中对全局内存的访 问次数&#xff0c;实现高效的线程块内部的通信 ②提高全局内存访问的合并度 将通过两个具体的例子阐明共享内存的合理使用&#xff0c;一个数组归约的例子和讨矩…

深入解析“低代码平台”与“零代码平台”:区别与应用场景

随着企业数字化转型的加速&#xff0c;低代码平台与零代码平台作为提升开发效率、降低IT成本的有效工具&#xff0c;正逐渐成为企业软件开发的新趋势。这两种平台虽然都旨在简化应用开发过程&#xff0c;但在功能、适用场景及用户群体上存在着显著差异。 低代码平台&#xff1a…

如何通过Chrome设置保护你的在线隐私

在当今数字时代&#xff0c;保护个人隐私和在线安全变得尤为重要。谷歌浏览器作为全球最受欢迎的网络浏览器之一&#xff0c;提供了多种功能来帮助用户保护自己的在线隐私。本教程将指导你如何通过谷歌浏览器设置来提高你的在线隐私保护水平。&#xff08;本文由https://www.li…

highcharts样式记录

图表设置 const rendChart (min, max) > {Highcharts.setOptions({global: { useUTC: false },});Highcharts.chart(hourly-chart, {chart: {spacingBottom: 0,marginLeft: 53,marginTop: 10,marginBottom: 0,marginRight: 13,style: {fontSize: 0.2rem,color: #363a44,li…

论文笔记 ICLR 2024 MogaNet: Multi-Order Gated Aggregation Network

配图中有2个分支&#xff0c;一个是subtract的输出和缩放因子&#xff08;γs&#xff09;相乘之后的结果&#xff0c;另一个是11卷积输出的结果&#xff0c;这两个分支的输出进行element-wise addition&#xff0c;这两个分支的输出分别代表什么&#xff1f; 为什么”增强局部…

1486. 数组异或操作

1486. 数组异或操作 题目含义&#xff1a;根据整数 n n n 和 s t a r t start start 构造一个数组&#xff0c;数组元素为 n u m s [ i ] 2 i s t a r t , i ∈ [ 0 , n − 1 ] nums[i] 2i start, i \in [0,n-1] nums[i]2istart,i∈[0,n−1]&#xff1b;最后返回这个数组…

电脑 WiFi 上网,开发板和电脑直连,如何才能让开发板也有网络

目录 问题 解决方法 1.设置电脑为WLAN共享模式 2、设置以太网IP 3、设置开发板IP及网关 4、测试 5、开发板重启之后会自动清空 /etc/resolv.conf文件中的内容问题解决 问题 电脑 WiFi 上网&#xff0c;开发板和电脑直连,如何才能让开发板也有网络 解决方法 1.设置电脑…

父子情深!汤姆克鲁斯已经结束英国的奢华生活搬回美国跟儿子团聚

汤姆克鲁斯似乎一直专注于在英国的奢华生活方式。过去五年里&#xff0c;他拍摄了许多电影&#xff0c;还被看到与皇室成员和一线明星一起参加派对。但消息人士称&#xff0c;他可能正在准备搬回美国&#xff0c;以便更接近他的儿子康纳。 在跨过大西洋的五年后&#xff0c;他…

使用electron+vue开发桌面应用

electron是什么 electron由Node.jsChromiumNative APIs构成。你可以理解成&#xff0c;它是一个得到了Node.js和基于不同平台的Native APIs加强的Chromium浏览器&#xff0c;可以用来开发跨平台的桌面级应用。 它的开发主要涉及到两个进程的协作——Main&#xff08;主&#x…

力扣题解(鸡蛋掉落)

887. 鸡蛋掉落 已解答 困难 相关标签 相关企业 给你 k 枚相同的鸡蛋&#xff0c;并可以使用一栋从第 1 层到第 n 层共有 n 层楼的建筑。 已知存在楼层 f &#xff0c;满足 0 < f < n &#xff0c;任何从 高于 f 的楼层落下的鸡蛋都会碎&#xff0c;从 f 楼层或比它…

JVM可视化监控

1 JConsole 一、介绍 JConsole 是一种 Java 监控和管理控制台工具&#xff0c;可以用于监视 Java 虚拟机&#xff08;JVM&#xff09;的性能和资源利用情况。它提供了一种图形化界面&#xff0c;可以实时查看 JVM 的运行状态、内存使用情况、线程活动、垃圾回收等信息&#xf…

Spring 实现 3 种异步流式接口,干掉接口超时烦恼

大家好&#xff0c;我是小富&#xff5e; 如何处理比较耗时的接口&#xff1f; 这题我熟&#xff0c;直接上异步接口&#xff0c;使用 Callable、WebAsyncTask 和 DeferredResult、CompletableFuture等均可实现。 但这些方法有局限性&#xff0c;处理结果仅返回单个值。在某…

每日OJ题_牛客_小乐乐改数字_模拟_C++_Java

目录 牛客_小乐乐改数字_模拟 题目解析 C代码 Java代码 牛客_小乐乐改数字_模拟 小乐乐改数字_牛客题霸_牛客网 (nowcoder.com) 描述&#xff1a; 小乐乐喜欢数字&#xff0c;尤其喜欢0和1。他现在得到了一个数&#xff0c;想把每位的数变成0或1。如果某一位是奇数&#…

Python 工具库每日推荐【PyAutoGUI】

文章目录 引言Python桌面自动化库的重要性今日推荐:PyAutoGUI工具库主要功能:使用场景:安装与配置快速上手示例代码代码解释实际应用案例案例:自动化图像识别和点击案例分析高级特性失败安全机制相对坐标操作扩展阅读与资源优缺点分析优点:缺点:总结【 已更新完 Python工…