ES安装

news/2024/11/14 21:39:45/文章来源:https://www.cnblogs.com/gracious/p/18395415

1.初识elasticsearch

Elasticsearch的官方网站如下:

https://www.elastic.co/cn/elasticsearch/

1.1.认识和安装

Elasticsearch是由elastic公司开发的一套搜索引擎技术,它是elastic技术栈中的一部分。完整的技术栈包括:

  • Elasticsearch:用于数据存储、计算和搜索
  • Logstash/Beats:用于数据收集
  • Kibana:用于数据可视化

整套技术栈被称为ELK,经常用来做日志收集、系统监控和状态分析等等:

img

整套技术栈的核心就是用来存储搜索计算的Elasticsearch,因此我们接下来学习的核心也是Elasticsearch。

我们要安装的内容包含2部分:

  • elasticsearch:存储、搜索和运算
  • kibana:图形化展示

首先Elasticsearch不用多说,是提供核心的数据存储、搜索、分析功能的。

然后是Kibana,Elasticsearch对外提供的是Restful风格的API,任何操作都可以通过发送http请求来完成。不过http请求的方式、路径、还有请求参数的格式都有严格的规范。这些规范我们肯定记不住,因此我们要借助于Kibana这个服务。

Kibana是elastic公司提供的用于操作Elasticsearch的可视化控制台。它的功能非常强大,包括:

  • 对Elasticsearch数据的搜索、展示
  • 对Elasticsearch数据的统计、聚合,并形成图形化报表、图形
  • 对Elasticsearch的集群状态监控
  • 它还提供了一个开发控制台(DevTools),在其中对Elasticsearch的Restful的API接口提供了语法提示

1.1.1.安装elasticsearch

通过下面的Docker命令即可安装单机版本的elasticsearch:

docker run -d \--name es \-e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \-e "discovery.type=single-node" \-v es-data:/usr/share/elasticsearch/data \-v es-plugins:/usr/share/elasticsearch/plugins \--privileged \--network hm-net \-p 9200:9200 \-p 9300:9300 \elasticsearch:7.12.1

注意,这里我们采用的是elasticsearch的7.12.1版本,由于8以上版本的JavaAPI变化很大,在企业中应用并不广泛,企业中应用较多的还是8以下的版本。

!如果拉取镜像困难,可以提前准备镜像tar包

安装完成后,访问9200端口,即可看到响应的Elasticsearch服务的基本信息:

img

1.1.2.安装Kibana

通过下面的Docker命令,即可部署Kibana:

docker run -d \
--name kibana \
-e ELASTICSEARCH_HOSTS=http://es:9200 \
--network=hm-net \
-p 5601:5601  \
kibana:7.12.1

如果拉取镜像困难,可以直接导入提前准备的镜像tar包:

安装完成后,直接访问5601端口,即可看到控制台页面:

img

选择Explore on my own之后,进入主页面:

img

然后选中Dev tools,进入开发工具页面:

img

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

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

相关文章

java-URLDNS 链条审计

java-URLDNS 链条审计 URLDNS 链条,是我们学习 java 反序列化的启蒙链条,通过 java 内置的类函数调用,达到 DNS 外带数据的目的。 首先让我们来看一个小实验 从 dnslog.cn 平台获取一个域名 public class urlDNS {public void URL() throws UnknownHostException {InetAddre…

进程间通信——消息队列(通俗易懂)

消息队列 概念消息队列是消息的链表,存放在内核中并由消息队列标识符标识,消息队列克服了信号传递信息少、管道只能承载无格式字节流以及缓冲区大小受限等缺陷。消息队列包括 POSIX 消息队列和 System V 消息队列。消息队列是 UNIX 下不同进程之间实现共享资源的一种机制,UN…

我克隆了我自己,数字生命有什么意义?

个人语音模型、个人视频模型、个人LLM语言模型都是基于开源的项目,但是需要进行少量的代码修改和集成的工作,这个过程不说很艰难,但是确实遇到很多问题。1. 场景... 2 2. 数字生命意义... 2 3. 具体实现思路... 4 1. 场景孩子:爸爸,今天天气不错,我们一起去打篮球吧?!…

Python批量分割Excel后逐行做差、合并文件的方法

本文介绍基于Python语言,针对一个文件夹下大量的Excel表格文件,基于其中每一个文件,首先依据某一列数据的特征截取我们需要的数据,随后对截取出来的数据逐行求差,并基于其他多个文件夹中同样大量的Excel表格文件,进行数据跨文件合并的具体方法~本文介绍基于Python语言,针…

手动脱壳学习笔记1----手动脱upx壳

ESP定律脱壳 例题 https://files.buuoj.cn/files/ee7f29503c7140ae31d8aafc1a7ba03f/attachment.tar 两下F9按一下F9,ESP变红在ESP处右键在内存窗口处转到在下面的内存下硬件断点再按一下F9在401280处下断点scylla插件输入00401820最后处理

我的第一次随笔

软件工程 https://edu.cnblogs.com/campus/fzu/SE2024/join?id=CfDJ8AOXHS93SCdEnLt5HW8VuxRT6AQqVs0mNHhOMFCtt8IMscU6Av_iCXeJ1yrZksLek4Sb4eQ33ielNgQZ17WNvtTHzyIIaHFdy4c1XbJ0CE2yknMRYdVBQ0jOrgoKTOKwvcAZuUiQqpoOYBFbKCcvozo要求 https://edu.cnblogs.com/campus/fzu/S…

应用程序报错漏洞修复

漏洞描述 错误页面由服务器产生400、403、404、500等错误时,返回详细错误信息。报错信息中可能会包含服务器代码信息、服务器版本信息、模板类型、数据库连接信息、SQL语句或者敏感文件的路径。修复 修改nginx配置# 其他配置...server {# 其他配置...# 指定 400 错误页面error…

PbootCMS模板调用幻灯片轮播图及参数说明

在 PbootCMS 中,{pboot:slide} 标签用于输出指定分组的幻灯片。以下是一个详细的示例,展示了如何使用 {pboot:slide} 标签来输出指定分组的幻灯片,并控制显示的数量。扫码添加技术【解决问题】专注中小企业网站建设、网站安全12年。熟悉各种CMS,精通PHP+MYSQL、HTML5、CSS3…

2-SAT 学习笔记

一、简介 k-SAT (satisfiability) 解决这样一类问题:给定 \(n\) 个布尔变量和 \(m\) 条限制,每条限制形如 \(x_1=0/1\or\cdots\or x_n=0/1\) ,求是否有解并给出构造。 当 \(k\gt 2\) 时,该问题为 NP 完全问题。 二、算法流程 在学习本算法前,请确保你对有向图强连通分量有…

pbootcms模板首页如何调用指定栏目的子栏目

在 PbootCMS 中,可以通过 {pboot:nav} 标签来调用指定栏目的子栏目。以下是具体的实现方法和示例代码。 示例代码html{pboot:nav parent=4 num=7} <a href="[nav:link]">[nav:name]</a> {/pboot:nav}参数说明parent: 指定父栏目的 ID。示例中的 parent=…

pbootcms模板标签序数从2开始

在 PbootCMS 中,{pboot:nav} 和 {pboot:list} 标签用于处理导航和列表数据。本文将详细介绍这两种标签的使用方法,并结合实际示例进行说明。 1. 导航标签 ({pboot:nav}) 基本用法 {pboot:nav} 标签用于遍历导航数据。可以结合条件判断和参数来控制显示的内容。 参数说明num: …

第一章 Django基础与虚拟环境

1.Web框架和Django框架 1.1网络通信注意:局域网个人一般写程序,想要让别人访问:阿里云、腾讯云。去云平台租服务器(含公网IP) 程序放在云服务器让网络中可以互相通信的双发收发数据。服务端【我的电脑】import socket# 1.监听本机的IP和端口 sock = socket.socket(socket.…