Elasticsearch介绍与应用

Elasticsearch介绍与应用

在这里插入图片描述

Elasticsearch的官方文档。

Elasticsearch官网参考文档:https://www.elastic.co/guide/index.html

Elasticsearch官方下载地址:https://www.elastic.co/cn/downloads/elasticsearch

mvnrepository依赖库地址:https://mvnrepository.com/

image-20230625204312287

Elasticsearch是做什么的

Elasticsearch是一种开源分布式搜索和分析引擎,它可以帮助用户快速地存储、搜索、分析和可视化大量的数据。Elasticsearch使用Lucene作为其基础搜索引擎,可以处理海量的结构化和非结构化数据,并提供实时搜索和分析功能。它可以跨多个服务器构建集群,并自动处理数据分片、负载均衡和故障转移,从而保证了高可用性和可扩展性。Elasticsearch还提供了灵活的RESTful API,使得开发人员可以很容易地与之交互。Elasticsearch被广泛应用于各种领域,如搜索、数据分析、电子商务、日志分析、安全信息和业务智能等领域。

Elasticsearch有哪些重要场景

Elasticsearch在以下场景中非常有用:

  1. 搜索场景:Elasticsearch可以帮助构建实时搜索引擎,支持全文搜索、自动补全、分类搜索等功能。这使得Elasticsearch经常被应用在文本搜索、电子商务、新闻门户等领域。

  2. 数据分析场景:Elasticsearch可以帮助处理海量数据,并支持实时的数据聚合、统计和分析。这使得Elasticsearch经常被应用在数据分析、监控、报表等领域。

  3. 日志分析场景:Elasticsearch可以非常高效地处理大量日志数据,并支持实时的、可视化的日志分析和搜索等功能。这使得Elasticsearch经常被应用在日志分析、系统监控等领域。

  4. 安全信息场景:Elasticsearch可以帮助存储和分析访问日志、安全日志等安全信息,并提供实时告警和分析等功能。这使得Elasticsearch经常被应用在网络安全、信息安全等领域。

  5. 业务智能场景: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端口会有一个密码校验

image-20230626191138829

重启容器

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端口上可以正常工作,您需要放行这两个端口,可以按照以下步骤来完成设置:

  1. 开启防火墙服务:

    sudo systemctl start firewalld
    
  2. 检查防火墙状态:

    sudo firewall-cmd --state
    
  3. 开放端口,运行以下命令:

    sudo firewall-cmd --add-port=5601/tcp --permanent
    

    这将允许TCP流量在5601端口上传输。

  4. 开放9200,9300端口,运行以下命令:

    sudo firewall-cmd --add-port=9200/tcp --permanent
    sudo firewall-cmd --add-port=9300/tcp --permanent
    

    这将允许TCP流量在9200端口上传输。

  5. 禁用SELinux保护:

    sudo setsebool -P httpd_can_network_connect on
    

    如果不禁用SELinux,可能会出现无法从Kibana页面访问Elasticsearch的情况。

  6. 重新加载防火墙规则:

    sudo firewall-cmd --reload
    

现在,防火墙已经配置好了,端口5601和9200现在应该可以用于Kibana和Elasticsearch了。

访问测试

image-20230626191242638

image-20230626191321391

最后,向Acloasia致敬,文章精彩,细致!

https://blog.csdn.net/Acloasia/article/details/130683934

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

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

相关文章

数据结构--顺序栈的实现

数据结构–顺序栈的实现 顺序栈的定义 顺序栈的定义代码实现 #define MaxSize 10 typedef struct {ElemType data[MaxSize]; //静态数组存放栈中元素int top; //栈顶指针 } SqStack;int main() {SqStack S; //声明一个顺序栈(分配空间)//... ...return 0; }一些常见操作 初始…

机器视觉初步8:特征提取专题

文章目录 1.角点检测2.纹理特征提取3.特征描述符匹配3.1 Harris角点描述符3.2 SIFT(尺度不变特征变换)描述符3.3 SURF(加速稳健特征)描述符 4.基于深度学习的特征提取 在机器视觉中,特征提取是从目标图像中提取有用的视…

linux - spin lock实现分析

linux - spin lock实现分析 spinlock1 spinlock的数据结构2 spinlock的接口2.1 spin_lock_init2.2 spin_lock2.3 spin_unlock2.4 spin_lock_irq2.5 spin_unlock_irq2.6 spin_lock_irqsave2.7 spin_unlock_irqrestore2.8 spin_lock_bh2.9 spin_unlock_bh spinlock 1 spinlock的数…

我心中的TOP1编程语言—JavaScript

作为一名研发工程师(程序员),平时工作中肯定会接触或了解很多编程语言。每个人都会有自己工作中常用的语言,也会有偏爱的一些编程语言。而我心中的最爱,毫无疑问,就是 JavaScript。 JavaScript 是一门编程…

华为MateBook 16 2021款锐龙版R7(CREM-WFD9)(CREM-WFG9)原装出厂Win11系统工厂模式,恢复原厂系统

HUAWEI华为笔记本电脑,MateBook 16 2021款 锐龙版 R7(CREM-WFD9) (CREM-WFG9) 原厂Windows11系统,带F10恢复功能,原装OEM专用系统,恢复出厂状态 系统自带所有驱动、出厂主题壁纸LOGO、Office办公软件、华为电脑管家等预装程序 …

记录--不定高度展开收起动画 css/js 实现

这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 不定高度展开收起动画 最近在做需求的时候,遇见了元素高度展开收起的动画需求,一开始是想到了使用 transition: all .3s; 来做动画效果,在固定高度的情况下&#xf…

【嵌入式模型转换】2. 算能盒子SE5 芯片板子BM1684 sophon-pipeline

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言1. 开始安装 前言 文章1,我们在SE5上实现了,SOC模式下的 C 和 python-sail的模型转换,文章连接: 【嵌入式模型转…

微服务实战项目-学成在线-课程发布模块

学成在线-课程发布模块 1 模块需求分析 1.1 模块介绍 课程信息编辑完毕即可发布课程,发布课程相当于一个确认操作,课程发布后学习者在网站可以搜索到课程,然后查看课程的详细信息,进一步选课、支付、在线学习。 下边是课程编辑…

观察者模式(二十)

相信自己,请一定要相信自己 上一章简单介绍了迭代器模式(十九), 如果没有看过, 请观看上一章 一. 观察者模式 引用 菜鸟教程里面 观察者模式介绍: https://www.runoob.com/design-pattern/observer-pattern.html 当对象间存在一对多关系时,则使用观察…

【MySQL】MySQL中SQL执行流程

文章目录 一、MySQL语句执行流程1.1、主要的原因有以下几点1.2、具体执行流程图如下 二、存储引擎三、MySQL的架构与内部模块四、崩溃恢复时如何判断事务是否需要提交 一、MySQL语句执行流程 连接器(Connector): 当客户端发送一个连接请求时…

矩阵通引入AIGC,帮助企业挖掘用户线索

据CNNIC报告数据,截止2022年6月,我国网民规模达10.51亿,其中短视频用户规模为9.62亿,网络直播用户规模达7.16亿,占网民整体的68.1%。 庞大的用户体量为直播带货奠定了基础,给品牌商家提供了新流量阵地&…

自动刷新工具--可以自动编辑安居客房源信息

本工具可以自动刷新安居客的房源信息,不是爬虫,就是一款解放劳动力的RPA工具 使用方法: 1. 首先输入要自动刷新的房源id 2.点击 开始执行 如果需要免密登陆,需要在个人中心填上anjuke的账密 定时执行 声明:此工具只是…