Windows安装Elasticsearch7.9.2

本文档详细介绍了如何在Windows上单机部署Elasticsearch7.9.2的集群模式,包括创建3个节点并配置集群参数,以及安装Head插件。配置关键步骤涉及设置集群名称、节点名称、端口、主机地址等,并通过elasticsearch.yml文件调整节点间通信。完成配置后,启动3个节点,它们将自动选举主节点并进入集群工作状态。
摘要由CSDN通过智能技术生成
Windows安装Elasticsearch7.9.2
目标
  1. 单机实现集群模式
  2. head插件安装
实施
  1. 获取elasticsearch-7.9.2-windows-x86_64.zip
  2. 选择一个目录作为程序目录,本例为
D:\Program Files (x86)\D:\Program Files (x86)\elasticsearch-7.9.2-windows-x86_64
  1. 在程序目录复制3个ES副本,作为集群的三个节点,命名如下
elasticsearch-7.9.2
elasticsearch-7.9.2-node2
elasticsearch-7.9.2-node3
  1. 分别3个节点的配置文件elasticsearch.yml,内容如下
#同一集群的各个节点应配置相同的集群名称
cluster.name: my-application
#集群的不同节点应配置不同的节点名称,本例为node-1,节点2、3分别为node-2、node-3
node.name: node-1
node.master: true
node.attr.rack: r1
node.max_local_storage_nodes: 3
#节点数据、日志的存放位置
path.data: D:\elasticsearch\node-1\data
path.logs: D:\elasticsearch\node-1\logs
#服务侦听的目标,可配置为0.0.0.0以侦听全部
network.host: 127.0.0.1
#节点提供服务的端口,9200为节点1的端口,节点2、3可依次配置为9201、9202
http.port: 9200
#集群中各节点互相通讯的端口,9300为节点1的端口,节点2、3可依次配置为9301、9302
transport.tcp.port: 9300
discovery.zen.ping_timeout: 120s
client.transport.ping_timeout: 60s
http.cors.allow-headers: Authorization,X-Requested-With,Content-Length,Content-Type
#集群中的节点列表,用于检测集群中其他节点的状态,以判断是否加入其他主节点或选举新的主节点
discovery.zen.ping.unicast.hosts: ["127.0.0.1:9300","127.0.0.1:9301","127.0.0.1:9302"]
#允许跨域访问,以支持head插件
http.cors.enabled: true 
http.cors.allow-origin: "*"
  1. 分别在3个ES副本中找到bin目录下的elasticsearch.bat,运行
  2. 三个ES运行后会自动选举出主节点,进入集群模式工作(实际操作过程中发现,初次选举主节点非常慢,大约十分钟,后续无论中断哪个节点的服务,ES都会短时间内重新选举主节点以恢复正常公司)
【资源说明】 1、该资源包括项目的全部源码,下载可以直接使用! 2、本项目适合作为计算机、数学、电子信息等专业的课程设计、期末大作业和毕设项目,作为参考资料学习借鉴。 3、本资源作为“参考资料”如果需要实现其他功能,需要能看懂代码,并且热爱钻研,自行调试。 基于springcloud+Netty+MQ+mysql的分布式即时聊天系统源码+数据库+项目说明.zip # KT-Chat 分布式即时聊天系统 **技术选型**:Java、SpringCloud、Nacos、Sentinel、Netty、MySQL、Redis、RocketMQ 等 **项目描述**:项目基于 SpringCloud Gateway + Nacos + Sentinel + OpenFeign 作为分布式系统架构,基于 Netty 实现高性能网络通信。主要功能有:一对一聊天以及群组聊天、好友管理、群组管理等。 项目独立完成,包括需求分析、设计、开发实现。 关于我在项目中使用 MySQL 读写分离的总结:[MySQL主从延迟的解决方案](https://blog.csdn.net/KIMTOU/article/details/125033199) ## 用例分析 用户能够在聊天系统上进行网络通信,与好友进行实时一对一聊天,与群组成员进行群聊。用户用例图如下所示: 1. 用户登录:登录系统 2. 聊天:包含与好友进行一对一聊天,与群组成员进行群聊。 3. 群聊管理:新建群聊、加入群聊、退出群聊。 4. 好友管理:显示好友列表,添加、删除好友。 5. 在线离线状态显示:查看好友的在线、离线状态。 6. 聊天记录管理:将聊天记录存入数据库,能够显示、删除存储的聊天记录。 <img src="https://cdn.tojintao.cn/Chat原理图.png" alt="img" style="zoom:67%;" /> ## 系统设计 #### 系统总体设计 分布式即时聊天系统分为用户信息子系统、长连接管理子系统、聊天信息子系统共三个子系统,API 网关负责将请求路由至各个子系统。 * 用户信息子系统包含权限校验模块、用户登录模块、好友管理模块,其中好友管理模块包括好友列表、添加好友、删除好友功能; * 长连接管理子系统包含在线状态管理模块、聊天主模块、消息推送模块,其中聊天主模块包括一对一聊天和群聊功能; * 聊天信息子系统包含群聊管理模块、聊天记录管理模块,其中群聊管理模块包括新建群聊、加入群聊、退出群聊功能。 <img src="https://cdn.tojintao.cn/KT-Chat系统结构图.png" style="zoom:67%;" /> #### 系统架构设计 ![](https://cdn.tojintao.cn/KT-Chat系统架构设计.png) 项目基于 Nacos 作为注册中心,将各个服务注册进 Nacos,包括 Netty 服务端;使用 SpringCloud Gateway 作为服务网关,是所有请求的统一入口;限流组件使用 Sentinel;基于 Netty 进行通信、维护长连接;RocketMQ 作为消息队列,处理聊天消息的异步入库以及解决分布式 Netty 节点问题; Zookeeper 用于分布式 id 的生成;Redis 用于记录用户在线状态以及记录 Netty 节点的元数据;MySQL 对数据进行持久化。 ## 运行截图 #### 一对一聊天 ![](https://cdn.tojintao.cn/聊天测试1.PNG) #### 群聊 ![](https://cdn.tojintao.cn/群聊测试1.PNG) ## 启动说明 1. 启动本项目时,需提前启动 Nacos、RocketMQ、MySQL、Redis、ElasticSearch、Sentinal 实例。 2. conntector 与 connector-2 这两个模块并不一样,connector-2 使用了 Dubbo 进行消息转发(实验阶段),而 connector 使用 Feign 进行 HTTP 调用转发消息。启动 connector 就行了。 3. 每个服务都允许运行多个实例。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值