Windows安装ES

Windows

目录说明

bin	脚本目录,包括:启动、停止等可执行脚本
config	配置文件目录
data	索引目录,存放索引文件的地方
logs	日志目录
modules	模块目录,包括了 ES 的功能模块
plugins	插件目录,ES 支持插件机制

配置文件

  • 安装形式不同,ES 的配置文件的地址也不同
  • 使用 ziptar 安装,配置文件在安装目录的 config
  • 使用 rpm 安装,配置文件在 /etc/elasticsearch
  • 使用 msi 安装,配置文件在安装目录的 config 下,并且会自动将 config 目录的地址写入环境变量 ES_PATH_CONF
  • 配置 elasticsearch.yml
  • 配置格式是 yaml,熟悉 SpringBoot 的都知道怎么配置了
  • 不过这里虽然是 yaml,但是还是按照 property 的风格配置

  • 修改地方如下:

path.data: D:\Java\elasticsearch\7.3\elasticsearch-7.3.0-windows-x86_64\ESData
path.logs: D:\Java\elasticsearch\7.3\elasticsearch-7.3.0-windows-x86_64\ESLogs
  • 或者以下的方式

path:
  data: D:\Java\elasticsearch\7.3\elasticsearch-7.3.0-windows-x86_64\ESData
  logs: D:\Java\elasticsearch\7.3\elasticsearch-7.3.0-windows-x86_64\ESLogs
  • 主要的配置内容如下:
cluster.name:	配置集群名称,默认是elasticsearch
node.name:	节点名,es会默认随机指定一个名字
path.conf:	设置配置文件的存储路径
path.data:	设置索引数据的存储路径,默认是es根目录下的data文件夹,可以设置多个存储路径,用逗号隔开
path.logs:	设置日志文件的存储路径,默认是es根目录下的logs文件夹
path.plugins:	设置插件的存放路径,默认是es根目录下的plugins文件夹
bootstrap.memory_lock:	设置为true可以锁住ES使用的内存,避免内存与swap分区交换数据
network.host:	设置绑定主机的ip地址,设置为0.0.0.0表示绑定任何ip,允许外网访问,生产环境建议设置为具体的ip
http.port:	设置对外服务的http端口,默认为9200
transport.tcp.port: 9300	集群结点之间通信端口
node.master:	指定该节点是否有资格被选举成为master结点,默认是true,如果原来的master宕机会重新选举新的master。
node.data:	指定该节点是否存储索引数据,默认为true
discovery.zen.ping.unicast.hosts: ["host1:port", "host2:port", "..."]	设置集群中master节点的初始列表
discovery.zen.ping.timeout:	设置ES自动发现节点连接超时的时间,默认为3s,如果网络延迟高可设置大些
discovery.zen.minimum_master_nodes:	节点数量的最少值 ,此值的公式为:(master_eligible_nodes / 2) + 1 ,比如:有3个符合要求的主结点,那么这里要设置为2
node.max_local_storage_nodes:	单机允许的最大存储结点数,通常单机启动一个结点建议设置为1,开发环境如果单机启动多个节点可设置大于1
  • 配置 jvm.options
  • 改一些,配置用于设置一些 JVM参数
  • 常见的就是设置 JVM 的堆内存,Windows下的话就不改了,你也可以改小一点,是对于电脑配置不高的可以改一下我就修改了
  • 不会修改的自行百度即可:https://www.baidu.com/

  • 启动
  • 开箱即用,直接运行 bin 目录下的 elasticsearch.bat 即可:

  • Status:集群状态,green 代表所有分片可用,Yellow 所有主分片可用,Red 主分片不可用,集群不可用

安装Head

  • ES 的安装包只提供了 REST 风格的操作,并没有可视化界面
  • 如果需要可视化界面,可以安装 head 插件
  • head 插件是 ES 的可视化管理插件,用来监视 ES 的状态,并通过 head 客户端和 ES 交互

  • 前提需要安装好 Node
  • 可以参考我分类或者标签中的Node自行查找文章参照即可
  • 输入如下命令开始装包:
npm i
  • 装完了包之后再次输入如下命令跑起来即可:
npm run start

配置跨域

  • ES 默认是不允许跨域访问的,因此 head 插件会存在跨域问题
  • 可以配置 elasticsearch.yml 来开启跨域(注意,需要将该文件另存为 utf-8 编码格式)
  • 修改了配置文件之后重启 ES 即可用 Head 进行连接了
  • 配置成功后如果还存在跨域问题,重启 ES 即可

# 开启 cors 跨域访问支持,默认为 false   
http.cors.enabled: true
# 跨域访问允许的域名地址,(允许所有域名)这里我使用的正则
http.cors.allow-origin: /.*/
  • 重启之后连接的效果如下图:

posted @   BNTang  阅读(514)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
点击右上角即可分享
微信分享提示