Elasticsearch介绍与应用
Elasticsearch介绍与应用
Elasticsearch的官方文档。
Elasticsearch官网参考文档:https://www.elastic.co/guide/index.html
Elasticsearch官方下载地址:https://www.elastic.co/cn/downloads/elasticsearch
mvnrepository依赖库地址:https://mvnrepository.com/
Elasticsearch是做什么的
Elasticsearch是一种开源分布式搜索和分析引擎,它可以帮助用户快速地存储、搜索、分析和可视化大量的数据。Elasticsearch使用Lucene作为其基础搜索引擎,可以处理海量的结构化和非结构化数据,并提供实时搜索和分析功能。它可以跨多个服务器构建集群,并自动处理数据分片、负载均衡和故障转移,从而保证了高可用性和可扩展性。Elasticsearch还提供了灵活的RESTful API,使得开发人员可以很容易地与之交互。Elasticsearch被广泛应用于各种领域,如搜索、数据分析、电子商务、日志分析、安全信息和业务智能等领域。
Elasticsearch有哪些重要场景
Elasticsearch在以下场景中非常有用:
搜索场景:Elasticsearch可以帮助构建实时搜索引擎,支持全文搜索、自动补全、分类搜索等功能。这使得Elasticsearch经常被应用在文本搜索、电子商务、新闻门户等领域。
数据分析场景:Elasticsearch可以帮助处理海量数据,并支持实时的数据聚合、统计和分析。这使得Elasticsearch经常被应用在数据分析、监控、报表等领域。
日志分析场景:Elasticsearch可以非常高效地处理大量日志数据,并支持实时的、可视化的日志分析和搜索等功能。这使得Elasticsearch经常被应用在日志分析、系统监控等领域。
安全信息场景:Elasticsearch可以帮助存储和分析访问日志、安全日志等安全信息,并提供实时告警和分析等功能。这使得Elasticsearch经常被应用在网络安全、信息安全等领域。
业务智能场景:Elasticsearch可以帮助构建实时的业务智能服务,支持数据挖掘、机器学习和预测等功能。这使得Elasticsearch经常被应用在业务智能、营销分析等领域。
Elasticsearch适用于那些语言开发
Elasticsearch支持多种编程语言的客户端库,这些客户端库使得开发人员可以使用自己喜欢的语言与Elasticsearch进行交互,包括:
java,python,PHP,GO,C#…
此外,Elasticsearch还提供了一个RESTful API,使得可以使用任何支持HTTP请求的编程语言与Elasticsearch进行通信。这使得开发人员可以使用自己熟悉的语言和工具与Elasticsearch集成。
Elasticsearch的安装配置
注意事项(不建议使用docker部署Elasticsearch,坑太多,大家直接下载包在win或者Linux上部署,听说哈,不允许root用户部署)
创建网络
创建一个公用网络,使得kibana和Elasticsearch可以完成互联
docker network create es-net
拉取镜像
docker pull elasticsearch:8.6.0
创建挂载点目录
mkdir -p /usr/local/src/soft/es/data /usr/local/src/soft/es/config /usr/local/src/soft/es/plugins
文件授权
chmod 777 /usr/local/src/soft/es/data
chmod 777 /usr/local/src/soft/es/config
chmod 777 /usr/local/src/soft/es/plugins
启动容器
docker run -d \
--restart=always \
--name es \
--network es-net \
-p 9200:9200 \
-p 9300:9300 \
--privileged \
-v /usr/local/src/soft/es/data:/usr/share/elasticsearch/data \
-v /usr/local/src/soft/es/plugins:/usr/share/elasticsearch/plugins \
-e "discovery.type=single-node" \
-e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \
elasticsearch:8.6.0
它将Elasticsearch 8.6.0映像用作容器。这里是每个参数的解释:
-d
:将容器作为后台守护进程运行。--restart=always
:当容器异常退出时,自动重启容器。--name es
:将容器命名为 “es”。--network es-net
:将容器加入名为 “es-net” 的Docker网络。-p 9200:9200
:将容器的9200端口映射到主机的9200端口。-p 9300:9300
:将容器的9300端口映射到主机的9300端口。--privileged
:授予容器特权,允许它执行特殊功能。-v /usr/local/soft/es/data:/usr/share/elasticsearch/data
:将主机的/usr/local/soft/es/data
目录挂载到容器的/usr/share/elasticsearch/data
目录,让Elasticsearch作为节点的数据持久化存储。-v /usr/local/soft/es/plugins:/usr/share/elasticsearch/plugins
:将主机的/usr/local/soft/es/plugins
目录挂载到容器的/usr/share/elasticsearch/plugins
目录,将Elasticsearch插件安装目录挂载到容器中。-e "discovery.type=single-node"
:将集群发现设置为通过使用单节点模式(默认情况下Elasticsearch期望与其他节点通信)。-e "ES_JAVA_OPTS=-Xms512m -Xmx512m"
:将Java运行时的堆内存设置为512MB。elasticsearch:8.6.0
:要运行的映像的名称和标签。这个命令的目的是使用Docker来创建一个运行Elasticsearch的容器。
编写elasticsearch.yml配置文件
docker exec -it es /bin/bash
cd config
echo 'xpack.security.enabled: false' >> elasticsearch.yml #关闭密码安全验证
不关闭访问9200端口会有一个密码校验
重启容器
docker restart es
访问虚拟机地址+端口号,前面配置Elasticsearch 的端口号为:9200
Kibana的安装配置
Kibana是一个开源的、基于Web的数据分析和可视化工具,主要用于Elasticsearch的数据分析和可视化。它提供了一个用户友好的界面,可以对Elasticsearch中的数据进行搜索、过滤、聚合、图表化等操作,帮助用户更好地理解和分析数据。Kibana通常与Elasticsearch一起使用,用于构建实时的数据仓库和分析平台。
要使用Docker静默安装kibana:8.6.0你可以按照以下步骤操作:
拉取镜像
docker pull kibana:8.6.0
创建挂载点目录
mkdir -p /usr/local/src/soft/kibana/config /usr/local/src/soft/kibana/data
部署kibana,创建kibana容器
docker run -d \
--restart=always \
--name kibana \
--network es-net \
-p 5601:5601 \
-e ELASTICSEARCH_HOSTS=http://es:9200 \
kibana:8.6.0
这是一个Docker运行命令,它将Kibana 8.6.0映像用作容器。以下是每个参数的解释:
-d
:将容器作为后台守护进程运行。--restart=always
:当容器异常退出时,自动重启容器。--name kibana
:将容器命名为 “kibana”。--network es-net
:将容器加入名为 “es-net” 的Docker网络。-p 5601:5601
:将容器的5601端口映射到主机的5601端口。-e ELASTICSEARCH_HOSTS=http://es:9200
:将Elasticsearch的地址设置为“http://es:9200”,其中“es”是Elasticsearch容器的名称,而不是IP地址或主机名。这使得Kibana可以连接到内部的Elasticsearch容器。kibana:8.6.0
:要运行的映像的名称和标签。此命令的目的是在Docker中创建一个运行Kibana的容器。
访问虚拟机地址+端口号,前面配置Kibana 的端口号为:5601
端口放行
在CentOS系统上,您可以使用Firewalld来管理防火墙设置。为使Kibana和Elasticsearch在5601和9200,9300端口上可以正常工作,您需要放行这两个端口,可以按照以下步骤来完成设置:
-
开启防火墙服务:
sudo systemctl start firewalld
-
检查防火墙状态:
sudo firewall-cmd --state
-
开放端口,运行以下命令:
sudo firewall-cmd --add-port=5601/tcp --permanent
这将允许TCP流量在5601端口上传输。
-
开放9200,9300端口,运行以下命令:
sudo firewall-cmd --add-port=9200/tcp --permanent sudo firewall-cmd --add-port=9300/tcp --permanent
这将允许TCP流量在9200端口上传输。
-
禁用SELinux保护:
sudo setsebool -P httpd_can_network_connect on
如果不禁用SELinux,可能会出现无法从Kibana页面访问Elasticsearch的情况。
-
重新加载防火墙规则:
sudo firewall-cmd --reload
现在,防火墙已经配置好了,端口5601和9200现在应该可以用于Kibana和Elasticsearch了。
访问测试
最后,向Acloasia致敬,文章精彩,细致!
https://blog.csdn.net/Acloasia/article/details/130683934
相关文章:

Elasticsearch介绍与应用
Elasticsearch介绍与应用 Elasticsearch的官方文档。 Elasticsearch官网参考文档:https://www.elastic.co/guide/index.html Elasticsearch官方下载地址:https://www.elastic.co/cn/downloads/elasticsearch mvnrepository依赖库地址:http…...

JavaEE规范
Servlet:用于开发 Web 应用程序的 API,定义了处理 HTTP 请求和响应的方式。JSP(JavaServer Pages):一种在服务器端生成动态网页的技术,允许将 Java 代码嵌入到 HTML 页面中。(注意JSP本质就是一个Servlet)J…...

嵌入式实时操作系统的设计与开发New(八)
创建线程 用户在基于RTOS开发应用程序前,首先要创建线程。 用户创建一个线程时须指定用户希望采用的调度策略。 例如,用户想创建一个周期性执行的线程: acoral_period_policy_data_t* data; data acoral_malloc(sizeof(acoral_period_poli…...

MySQL事务相关笔记
杂项 InnoDB最大特点:支持事务和行锁; MyISAM不支持事务 介绍 一个事务是由一条或者多条对数据库操作的SQL语句所组成的一个不可分割的单元,只有当事务中的所有操作都正常执行完了,整个事务才会被提交给数据库。事务有如下特性…...

如何利用AI高效率快速调色
在设计行业中,时间是非常宝贵的资源,而设计师们常常需要应对繁忙的工作日程和紧迫的截止日期。为了提高工作效率和节省时间,越来越多的设计师开始利用人工智能(AI)技术中的高效调色功能。本文将介绍如何利用AI高效率快…...

数据结构--顺序表的基本操作--插入 and 删除
数据结构–顺序表的基本操作–插入 顺序表的插入操作 实现目标 ListInsert(&L,i,e):插入操作。在表L中的第i个位置上插入指定元素e。 typedef struct {int data[MaxSize];int len; }Sqlist;代码实现: #include <stdio.h> #include <stdlib.h> …...

BCSP-玄子Java开发之Java Web编程CH01_初识动态网页
BCSP-玄子Java开发之Java Web编程CH01_初识动态网页 1.1 B/S架构 B/S架构:浏览器/服务器 程序完全部署在服务器上使用浏览器访问服务器无需单独安装客户端软件 为什么要使用B/S架构 B/S与C/S比较B/S架构C/S架构软件安装浏览器需要专门的客户端应用升级维护客户…...

【软件教程】农林生环、水文、海洋、水环境、大气科学、人工智能、碳中和、碳排放、3S、R与统计等软件模型
本文涉及领域水文水资源、大气科学、农林生态、地信遥感、统计分析、编程语言等... 从软件基础到实践案例应用操作,手把手教学,提供永久回放观看和助学群长期辅助指导。适合课题组人员一站式学习,科研人员技术提升、企业单位工程项目、高校论…...

如何加入开源社
开源社成立于 2014 年,是由志愿贡献于开源事业的个人成员,依 “贡献、共识、共治” 原则所组成,始终维持厂商中立、公益、非营利的特点,是最早以 “开源治理、国际接轨、社区发展、项目孵化” 为使命的开源社区联合体。开源社积极…...

软件开发中的破窗效应
应该有很多人已经知道破窗效应【注1】这个社会学 (犯罪学)的词语,破窗效应最先由社会学家James Q. Wilson和George L. Kelling在一篇名为《Broken Windows》的文章中提出【注2】: “一个房子如果窗户破了,没有人去修补…...

机器视觉初步6-1:基于梯度的图像分割
把基于梯度的图像分割单独拿出来。 文章目录 一、图像梯度相关算子的原理1. Sobel算子2. Prewitt算子3. Roberts算子 二、python和halcon算子实现1.python实现2.halcon实现 基于梯度的图像分割方法利用像素之间的梯度信息来进行图像分割。 梯度 1是图像中像素灰度值变化最快的…...

从0开始,精通Go语言Rest微服务架构和开发
说在前面 现在拿到offer超级难,甚至连面试电话,一个都搞不到。 尼恩的技术社区中(50),很多小伙伴凭借 “左手云原生右手大数据”的绝活,拿到了offer,并且是非常优质的offer,据说年…...

Sui x KuCoin Labs夏季黑客松|本周Workshop预告
自Sui x KuCoin Labs夏季黑客松推出以来已有四周的时间,期间收获了众多开发者的积极报名和热情参与。随着黑客松报名即将进入尾声,同期举办的Workshop也迎来了本周的最后一波。本周的黑客松Workshop邀请到MoveEX和Mirror World的负责人作为嘉宾为大家带…...

从电源 LED 读取智能手机的秘密?
研究人员设计了一种新的攻击方法,通过记录读卡器或智能手机打开时的电源 LED,使用 iPhone 摄像头或商业监控系统恢复存储在智能卡和智能手机中的加密密钥。 众所周知,这是一种侧信道攻击。 通过密切监视功耗、声音、电磁辐射或执行操作所需…...

【Linux编辑器-vim使用】
目录 Linux编辑器-vim使用1.vim的基本概念2.vim的基本操作3.vim正常模式命令集4.vim末行模式命令集 Linux编辑器-vim使用 1.vim的基本概念 目前了解的vim有三种模式(其实有好多模式),分别是命令模式、插入模式和底行模式,各模式…...

安装Apache mysql php
目录 一.Apache网站服务 Apache——》静态页面处理——》将静态处理交给PHP Apache简介 安装Apache服务 编辑 安装软件思路 二.安装mysql数据库 1. 安装依赖包 2.创建程序用户管理 3.加压安装包 这边就安装完成了编辑 重点来了 报错了 没有空间 我最后的解决 方法…...

【人工智能】— 神经网络、前向传播、反向传播、梯度下降、局部最小值、多层前馈网络、缓解过拟合的策略
【人工智能】— 神经网络、前向传播、反向传播 前向传播反向传播梯度下降局部最小值多层前馈网络表示能力多层前馈网络局限缓解过拟合的策略 前向传播和反向传播都是神经网络训练中常用的重要算法。 前向传播是指将输入数据从输入层开始经过一系列的权重矩阵和激活函数的计算后…...

小文智能自定义变量详解
在小文交互场景设计时,有一个特殊功能,叫做自定义变量。有时,根据外呼对象的不同,需要对用户传达不同的内容,比如称呼、地址、公司名称等等。此时,就可以使用小文交互的自定义变量功能来实现对不同用户呼出…...
平面电磁波的反射与折射,极化滤波作用
目录 引言 反射定律和折射定律 反射系数和折射系数 平面电磁波在理想介质分界面上的全反射和全折射 全反射 全折射 极化滤波作用 平面电磁波在良导体上的反射与折射 引言 再复杂的电磁波我们都可以看作是很多平面电磁波的叠加 我们在前面介绍的时候,我们认…...

键盘当鼠标用
当鼠标坏掉又需要使用电脑时发现触控板也不能用这就很烦那么键盘当鼠标用教程来了 使用键盘当鼠标的步骤如下: 1. 按住“AltShiftNum Lock”快捷键,弹出鼠标键开启咨询框,点击“是”按钮。 小键盘的数字就是方向/和*就是左右键切换5是单击 …...

动态规划part9 | ● 198.打家劫舍 ● 213.打家劫舍II ● 337.打家劫舍III
文章目录 198.打家劫舍思路思路代码官方题解代码 213.打家劫舍II思路思路代码官方代码困难 337.打家劫舍III思路思路代码官方题解代码困难 今日收获 198.打家劫舍 198.打家劫舍 思路 dp含义,偷前i个房,切第i个房偷 dp[i]max(dp[i-2],dp[i-3])nums[i] …...

【k8s系列】一分钟搭建MicroK8s Dashboard
本文基于上一篇文章的内容进行Dashboard搭建,如果没有看过上一篇的同学请先查阅上一篇文章 k8s系列】使用MicroK8s 5分钟搭建k8s集群含踩坑经验 使用MicroK8s搭建Dashboard很简单,只需要在Master节点按照以下几步操作 1.启用Dashboard插件 microk8s en…...

ArcEngine二次开发0——入门(下载 部署 组件学习)
折腾一下ArcGIS Engine二次开发。 目录 1、开发环境配置2、部署一个ArcGIS Engine应用程序3、ArcObject组件学习4、报错及解决4、其他 1、开发环境配置 参考:https://blog.csdn.net/H48662654/article/details/113384150 (使用ArcEngine前,…...

人工智能---D分离
D分离(D-Separation)是一种用来判断变量是否条件独立的图形化方法。相比于非图形化方法,D-Separation更加直观,且计算简单。对于一个DAG(有向无环图)E,D-Separation方法可以快速的判断出两个节点…...

java spring cloud 企业工程项目管理系统源码-全面的工程项目管理
工程项目管理系统是指从事工程项目管理的企业(以下简称工程项目管理企业)受业主委托,按照合同约定,代表业主对工程项目的组织实施进行全过程或若干阶段的管理和服务。 如今建筑行业竞争激烈,内卷严重,…...

2023最新软件测试面试题【1000道题含答案】
1、自动化代码中,用到了哪些设计模式? 单例设计模式 工厂模式PO设计模式数据驱动模式面向接口编程设计模式 2、什么是断言( Assert) ? 断言Assert用于在代码中验证实际结果是不是符合预期结果,如果测试用例执行失败会抛出异常并提供断言日志 3、什么是web自动化测…...

【目标跟踪】MOT数据集GroundTruth可视化
MOT数据集格式简介 MOT15数据集下载:https://pan.baidu.com/s/1foGrBXvsanW8BI4eybqfWg?pwd8888 以下为一行gt示例: 1,1,1367,393,73,225,1,-1,-1,-1 各列数据对应含义如下 <frame>,<id>,<bb_left>,<bb_top>,<bb_width&g…...

软件测试的概念与过程----学习软件测试前的思考
软件测试的概念与过程----学习软件测试前的思考 1、软件测试工作是做什么的?2、那我做软件测试拿到一个软件产品我应该从哪里测试,怎末开始工作?3、测试早做好还是晚一些做好?4、软件测试能将软件测试的一点问题都没有嘛ÿ…...

Streamlit基础教程
streamlit是什么 streamlit是一个开源的python库,它能够快速的帮助我们创建定制化的web应用,而且还非常便于和他人分享,特别是在机器学习和数据科学领域。整个过程不需要你了解任何前端的知识,包括html、css、javascript等&#x…...

内网穿透技术
文章目录 前言1. 安装JAVA2. MCSManager安装3.局域网访问MCSM4.创建我的世界服务器5.局域网联机测试6.安装cpolar内网穿透7. 配置公网访问地址8.远程联机测试9. 配置固定远程联机端口地址9.1 保留一个固定tcp地址9.2 配置固定公网TCP地址9.3 使用固定公网地址远程联机 转载自内…...