Elasticsearch 基于Windows环境安装

news2024/9/23 15:29:55

1、 Java 下载安装

1.1 下载地址

elasticsearch 8.x 版本需要jdk17及以上版本支持
JDK下载地址

2、下载和安装 ES

2.1 下载地址

Past Release

2.2 文件目录

image.png

3、启动服务

3.1 启动方式

  • Windows:双击 bin 目录下的 elasticsearch.bat 文件
  • Mac:双击 bin 目录下的 elasticsearch

在这里插入图片描述

ES 8.x 以后版本默认启动 Security

4、生产模式和开发模式

4.1 生产模式和开发模式

  • 生产模式:生产模式是指 Elasticsearch 集群用于生产环境的运行模式。在这种模式下,集群需要在生产环境中部署,以便能够处理来自用户的真实请求。生产模式下需要考虑诸如高可用性、故障转移、性能优化和安全等因素。
  • 开发模式:开发模式是指 Elasticsearch 集群用于开发和测试环境的运行模式。在这种模式下,集群可以在本地开发机器上运行,以便开发人员可以测试和调试代码。开发模式下不需要考虑高可用性和性能优化等因素,但需要确保数据安全,避免意外删除或修改数据。

在实践中,为了确保生产集群的稳定性和安全性,通常需要在开发模式下进行开发和测试,并在生产环境之前进行充分测试和验证。

总结:

生产模式用于生产环境,因此务必要进行严格的引导检查(即:启动项检查),以保证服务后期的扩展性和高可用性等。而开发模式则更强调降低 ES 的学习和使用成本,因此应尽量避免引导检查等门槛操作。

4.2 引导检查

在 Elasticsearch(ES)中,启动项检查是在启动 Elasticsearch 进程时进行的一系列检查,以确保集群可以正常启动和运行。这些检查包括以下几个方面:

  1. 配置文件检查:Elasticsearch 使用 YAML 格式的配置文件来配置集群的各种设置,包括节点名称、网络设置、存储路径等。在启动 Elasticsearch 进程时,会检查配置文件的语法和内容是否正确,包括检查配置项是否存在、是否具有有效的值、是否遵循正确的格式等。
  2. 内存限制检查:Elasticsearch 在运行时需要占用一定的内存资源,包括堆内存和操作系统的虚拟内存。启动 Elasticsearch 进程时,会检查操作系统的虚拟内存限制是否足够,并根据配置文件中的设置来分配堆内存大小,以避免出现内存不足的情况。
  3. 网络设置检查:Elasticsearch 集群中的节点之间通过网络进行通信,启动 Elasticsearch 进程时,会检查网络设置是否正确配置,包括检查节点名称是否唯一、通信端口是否可用、网络接口是否正确配置等。
  4. 存储路径检查:Elasticsearch 会将索引和数据存储在磁盘上,启动 Elasticsearch 进程时,会检查配置文件中指定的存储路径是否存在、是否有足够的权限,以确保索引和数据能够正常存储和访问。
  5. 插件检查:Elasticsearch 支持插件来扩展其功能,启动 Elasticsearch 进程时,会检查配置文件中指定的插件是否存在、是否与当前版本兼容,以确保插件能够正确加载和运行。

如果启动项检查中存在任何错误或异常,Elasticsearch 可能会拒绝启动或显示错误信息,需要根据错误信息进行相应的修复或调整,以确保集群可以正常启动和运行。

4.3 单节点发现

单节点发现是 ES 为降低 ES 的使用门槛而提供的一种启动方式,在单节点发现模式下,节点将选举自己为主节点,并且不允许其他任何节点加入,也不会加入其他任何集群。

配置单节点发现的方式如下:

discovery.type: single-node

5、单节点集群

5.1 关闭 Security

xpack.security.enabled: false

5.2 配置项

  • cluster.name: 集群名称,默认为 elasticsearch,是确定集群的依据
  • node.name: 节点名称,默认为主机名,同一个集群之间不能重复
  • http.port: 服务端口号,默认 9200,多节点依次递增,是访问服务的端口
  • transport.port: 节点之间的通信端口,默认 9300,多节点之间依次递增。

5.3 服务启动

5.3.1 Windows

直接双击启动 bin\elasticsearch.bat 文件即可,或者在 Winodws PowerShell 下执行:

bin % .\elasticsearch.bat

5.3.2 Mac 环境

直接双击启动 bin/elasticsearch 文件即可,或者在终端下执行:

bin % ./elasticsearch

5.4 验证服务状态

浏览器访问:http://localhost:9200/

6、多节点集群

6.1 自动发现策略

在ES中,自动发现策略是指如何自动检测和识别新的节点加入或节点离开集群的过程,以确保集群的可靠性和稳定性。

ES使用多播(multicast)和单播(unicast)两种方式进行节点的发现。

  • 多播:多播是一种在局域网中广播消息的方式,ES可以通过多播协议向局域网内的其他节点发送广播消息,以检测新节点的加入或节点离开。新节点可以通过监听特定的多播地址和端口来加入集群,从而实现自动发现。但是,多播可能受到网络环境的限制,如防火墙配置和路由器设置,可能会导致多播消息无法传递,从而影响自动发现的可靠性。
  • 单播:单播是一种点对点的通信方式,ES可以通过在配置文件中指定预定义的节点列表,定期向这些节点发送单播请求来进行节点的自动发现。这样,新节点可以直接通过与预定义节点的单播通信来加入集群。单播方式相对于多播方式更加灵活,不受网络环境的限制,但需要手动配置节点列表,管理起来可能会更加繁琐。

需要注意的是,自动发现策略在ES的配置中可以进行灵活的设置,可以根据具体的需求和网络环境选择合适的方式。另外,ES还支持使用插件或第三方工具进行自动发现,例如使用ZooKeeper、Consul等外部服务进行节点的自动发现。

6.2 本地多项目集群

6.2.1 启动方式

操作系统脚本
MacOSopen /node1/bin/elasticsearch open /node2/bin/elasticsearch open /node3/bin/elasticsearch
windowsstart D:\node1\bin\elasticsearch.bat start D:\node2\bin\elasticsearch.bat start D:\node3\bin\elasticsearch.bat

亦可手动挨个启动节点

6.2.2 优缺点

  • 优点:一劳永逸,不需要每次执行很多命令
  • 缺点:浪费大量磁盘空间

6.3 本地单项目集群

6.3.1 启动方式

操作系统命令
Mac./elasticsearch -Epath.data=data1 -Epath.logs=log1 -Enode.name=node1 -Ecluster.name=elastic ./elasticsearch -Epath.data=data2 -Epath.logs=log2 -Enode.name=node2 -Ecluster.name=elastic
Windows.\elasticsearch.bat -Epath.data=data1 -Epath.logs=log1 -Enode.name=node1 -Ecluster.name=elastic .\elasticsearch.bat -Epath.data=data2 -Epath.logs=log2 -Enode.name=node1 -Ecluster.name=elastic

6.3.2 优缺点

  • 优点:节省磁盘空间
  • 缺点:启动麻烦,容易出错,除了节省磁盘空间,没有其他意义。

7、安装和部署 Kibana

下载地址:

  • 选择版本:https://www.elastic.co/cn/downloads/past-releases#kibana
  • 最新版本:https://www.elastic.co/cn/downloads/kibana
WindowsMacOS
命令行.\kibana\bin\kibana.bat./kibana/bin/kibana
图形界面双击kibana.bat双击kibana
Shellstart kibana\bin\kibana.batopen kibana/bin/kibana

8、常用的客户端工具

8.1 PostMan

下载:https://www.postman.com/

8.2 ApiPost

下载:https://www.apipost.cn/

8.3 Head

Chrome 地址:传送门

8.4 ElasticVUE

Chrome 地址:传送门

Edge 地址:传送门

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

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

相关文章

深度学习系列74:语音中的mel谱

1 mel谱介绍 一个人说一句话,其 waveform 可以很不一样,但是 spectrogram 基本上会相似,甚至有人可以通过 spectrogram 来判断说话的内容。语谱图的横坐标是时间,纵坐标是频率,坐标点值为语音数据能量。由于是采用二维…

计算机网络(一) —— 网络基础入门

目录 一,关于网络 二,协议 2.1 协议是什么,有什么用? 2.2 协议标准谁定的? 2.3 协议分层 2.4 OSI 七层模型 2.5 TCP/IP 四层模型 三,网络传输基本流程 3.1 局域网中两台主机通信* 3.2 报文的封装与…

智能化浪潮赋能工业制造与报废拆解,基于高精度YOLOv8全系列参数【n/s/m/l/x】模型开发构建工业生产场景下车辆不同部位智能化分割检测识别分系统

随着科技的飞速发展,数字化与智能化已成为推动社会进步的强大引擎。在工业生产制造与汽车报废处理这一传统领域中,这一变革尤为显著。曾经,流水线作业与人工拆解是这些行业的主要生产方式,它们不仅效率低下,且高度依赖…

如何从 AWS CodeCommit 迁移到极狐GitLab?

极狐GitLab 是 GitLab 在中国的发行版,可以私有化部署,对中文的支持非常友好,是专为中国程序员和企业推出的企业级一体化 DevOps 平台,一键就能安装成功。安装详情可以查看官网指南。 本文将分享如何从 AWS CodeCommit 服务无缝迁…

【无标题】XSS安全防护:responseBody (输入流可重复读) 配置

接上文:配置XSS过滤器 XXS 安全防护:拦截器+注解实现校验-CSDN博客XSS(跨站脚本)攻击是一种网络安全威胁,允许攻击者注入恶意脚本到看似安全的网站。当用户浏览这些被注入恶意代码的网页时,恶意脚本会在用户的浏览器环境中执行,这可能导致多种安全问题,如窃取敏感数据、…

链表算法题(上)

在之前单链表和双链表两个专题中我们学习了链表相关的概念和性质,同时了解了单链表和双链表各自的特征,那么接下来在本篇中我们就将使用这些链表的知识来解决链表相关的算法题,在本篇中这些算法题能强化我们的算法思想,会对我们之…

HTML5好看的花店商城源码2

文章目录 1.设计来源1.1 主界面1.2 界面效果11.3 界面效果21.4 界面效果31.5 界面效果41.6 界面效果51.7 界面效果61.8 界面效果71.9 界面效果8 2.效果和源码2.1 动态效果2.2 源代码 源码下载万套模板,程序开发,在线开发,在线沟通 作者&#…

postgresql数据库创建表分区和分区分区查询失效问题

postgresql数据库创建表分区和分区失效场景 一、前言二、分区表创建1、范围分区(Range Partitioning)2、列表分区(List Partitioning)3、hash分区(hash Partitioning) 三、表分区查询失效问题 一、前言 在…

AcWing算法基础课-785快速排序-Java题解

大家好,我是何未来,本篇文章给大家讲解《AcWing算法基础课》785 题——快速排序。这篇文章介绍了使用快速排序算法对整数数列进行排序的方法,包括选择基准元素、分区操作和递归排序子数组。通过详细的步骤和示例,解释了快速排序的…

Axure打造科技感数据可视化大屏原型

在数字化浪潮的推动下,数据已成为企业决策不可或缺的核心驱动力。面对海量且复杂的数据集,如何高效解读并转化为洞见,是企业面临的重大挑战。数据可视化,尤其是科技感十足的大屏展示,不仅为企业提供了直观的数据洞察&a…

9,sql 约束

创建表时添加非空约束 create table sys3(name int,age int not null) 建表后修改 alter table sys3 modify name int null 删除 创建表时添加默认值约束 关键字 default 默认值的意思 后面跟着默认的值create table sys_4(列名1 数据类型 default 默认值,列名2 数据类型 no…

网络安全售前入门09安全服务——安全加固服务

目录 1.服务概述 2.流程及工具 2.1服务流程 2.2服务工具 3.服务内容 ​​​​​​​4.服务方式 ​​​​​​​5.风险规避措施 ​​​​​​​6.服务输出 1.服务概述 安全加固服务是参照风险评估、等保测评、安全检查等工作的结果,基于科学的安全思维方式、长期的安全…

Apache CloudStack Official Document 翻译节选(十三)

快速部署一朵 Apache CloudStack 云 (二) 部署一朵pache CloudStack 云 安装Apache CloudStack的云内管理服务组件 本部分我们将安装Apache CloudStack的云内管理服务组件及周边工具。 关于数据库的安装与配置: 我们会安装和配置MySQL并配…

【机器学习入门】一文读懂非线性支持向量机SVM

前面已经分别介绍了基于硬间隔最大化的线性可分支持向量机、基于软间隔最大化的线性支持向量机,这次来总结下使用核函数来解决非线性可分问题的非线性支持向量机。 【机器学习入门】一文读懂线性可分支持向量机【机器学习入门】一文读懂线性支持向量机SVM 一 非线…

GCViT实战:使用GCViT实现图像分类任务(一)

摘要 GC ViT(全局上下文视觉转换器)是一种创新的深度学习架构,旨在提升计算机视觉任务中的参数和计算效率。它通过将全局上下文自注意力模块与标准的局部自注意力相结合,有效地建模长程和短程空间交互,同时避免了传统…

IJCAI-信也科技杯全球AI大赛-华东师范大学亚军队伍分享

作者:彭欣怡(找不到工作版) 华东师范大学; 马千里(搬砖版) 虾皮; 指导:闫怡搏(科研版) 华东师范大学 比赛链接:https://ai.ppdai.com/mirror/goToMirrorDetailSix?mirrorId34 前言 这是我们首次参加语音领域的比赛,最初只是抱着…

深度学习之 OpenCV 图像边缘检测算法解析及代码演示

引言 在计算机视觉领域,边缘检测是一种重要的图像预处理技术,用于识别图像中对象的边界。边缘检测有助于提取图像的关键特征,这对于后续的图像分析(如物体识别、运动检测等)至关重要。OpenCV 是一个强大的计算机视觉库…

Zabbix 企业级高级应用(Zabbix Enterprise Advanced Application)

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:Linux运维老纪的首页…

备忘录1【java环境变量手动更改】

B站视屏链接:https://www.bilibili.com/video/BV1cV8BeCESA?vd_source3e4562475feb55327a8adde111050d4e 1.电脑设置 2.系统-------系统信息 3.高级系统设置 4.环境变量 5.系统变量中,更改之前创建好的JAVA_HOME 版本可以将1.8改成本机安装的其他版本…

Java进阶13讲__第九讲

Stream流 1. 案例初体验 package cn.hdc.oop9.stream.using;import java.util.LinkedList; import java.util.List; import java.util.stream.Collectors; import java.util.stream.Stream;public class t1 {public static void main(String[] args) {LinkedList<String&g…