Mac怎么安装Elasticsearch_Mac ES搜索引擎安装配置教程【进阶】

千雪吖_8088

千雪吖_8088

2026-03-25

852人浏览

原创

Mac上安装Elasticsearch有三种主流方式:一是用Homebrew一键安装,适合快速部署;二是官网下载压缩包手动安装,便于定制配置;三是Docker容器化安装,实现环境隔离。

mac怎么安装elasticsearch_mac es搜索引擎安装配置教程【进阶】

一、使用Homebrew一键安装

Homebrew是Mac平台最便捷的包管理工具,适用于快速部署Elasticsearch且便于后续版本管理。该方式无需手动解压与路径配置,安装后服务可直接通过系统级命令启停。

1、确认Homebrew已安装:在终端执行brew --version,若返回版本号则跳过安装;否则执行/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"完成安装。

2、执行Elasticsearch安装命令:brew install elasticsearch,等待下载与编译完成。

3、启动服务:brew services start elasticsearch,服务将后台运行并监听localhost:9200。

4、验证安装:在终端运行curl -X GET http://localhost:9200/,返回包含"name"、"cluster_name"和"tagline": "You Know, for Search"的JSON响应即为成功。

二、官网下载压缩包手动安装

该方式提供对配置文件、JVM参数及插件目录的完全控制权,适合需要定制化部署或调试集群场景。安装包自带config/目录,避免brew安装时配置路径分散的问题。

1、访问https://www.elastic.co/downloads/elasticsearch,选择与当前macOS架构匹配的.tar.gz版本(如Apple Silicon推荐ARM64版)。

2、下载完成后解压至目标目录,例如:tar -xzf elasticsearch-8.12.2-darwin-aarch64.tar.gz -C ~/Applications/。

3、进入解压后目录,修改config/elasticsearch.yml:取消注释并设置network.host: localhost,确保http.port: 9200未被注释。

4、赋予执行权限:chmod +x bin/elasticsearch,然后启动:./bin/elasticsearch -d(-d表示后台运行)。

5、检查进程:ps aux | grep elasticsearch,确认Java进程存在;再用curl http://localhost:9200/验证响应。

三、Docker容器化安装

Docker方式实现环境隔离,避免Java版本冲突与系统依赖干扰,特别适用于多版本ES共存或CI/CD集成场景。镜像由Elastic官方维护,保证一致性与安全性。

1、确保Docker Desktop已在Mac上运行,执行docker --version确认可用。

2、拉取最新稳定版镜像:docker pull docker.elastic.co/elasticsearch/elasticsearch:8.12.2。

3、创建本地数据卷以持久化索引:docker volume create es-data。

GPTAgent
GPTAgent

GPTAgent是一款用于构建自然语言 AI 应用和自动化流程的无代码平台。

下载

4、运行容器并映射端口与配置:docker run -d -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e "xpack.security.enabled=false" -v es-data:/usr/share/elasticsearch/data docker.elastic.co/elasticsearch/elasticsearch:8.12.2。

5、等待约30秒后执行curl -X GET "http://localhost:9200/?pretty",返回结构化JSON即表示容器内ES服务就绪。

四、解决启动失败的常见配置修正

Elasticsearch默认启用安全特性与机器学习模块,在开发环境常因权限或资源限制导致启动中断。以下操作需在config/elasticsearch.yml中进行,每项修改后必须重启服务。

1、禁用X-Pack安全模块:在配置文件末尾添加xpack.security.enabled: false,顶格书写,冒号后保留一个空格。

2、关闭机器学习功能:添加xpack.ml.enabled: false,防止因未授权License触发拒绝启动。

3、调整JVM堆内存:编辑config/jvm.options,将-Xms4g和-Xmx4g改为-Xms1g和-Xmx1g,适配Mac本地开发资源限制。

4、允许跨域访问(供head插件或前端调试):在elasticsearch.yml中添加http.cors.enabled: true与http.cors.allow-origin: "*"两行。

5、若提示max virtual memory areas vm.max_map_count [65530] is too low,需在终端执行sudo sysctl -w vm.max_map_count=262144并写入/etc/sysctl.conf永久生效。

五、验证与基础交互测试

安装完成后需验证核心API可达性与索引操作能力,确保后续Kibana、Logstash或应用接入无阻。所有测试均基于HTTP REST接口,无需额外客户端。

1、检查集群健康状态:curl -X GET "http://localhost:9200/_cat/health?v",返回status字段为green表示节点正常。

2、列出全部索引:curl -X GET "http://localhost:9200/_cat/indices?v",初始应返回空结果或仅.security等系统索引。

3、创建测试索引test-index:curl -X PUT "http://localhost:9200/test-index" -H "Content-Type: application/json" -d'{"settings":{"number_of_shards":1}}'。

4、插入一条文档:curl -X POST "http://localhost:9200/test-index/_doc/1" -H "Content-Type: application/json" -d'{"title":"Mac ES Install Guide","version":"8.12.2"}'。

5、执行搜索验证:curl -X GET "http://localhost:9200/test-index/_search?q=title:Mac",响应中"hits.total.value"应为1,且_source包含原始内容。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
json数据格式
json数据格式

JSON是一种轻量级的数据交换格式。本专题为大家带来json数据格式相关文章,帮助大家解决问题。

2023.08.07

2175

5

json是什么
json是什么

JSON是一种轻量级的数据交换格式,具有简洁、易读、跨平台和语言的特点,JSON数据是通过键值对的方式进行组织,其中键是字符串,值可以是字符串、数值、布尔值、数组、对象或者null,在Web开发、数据交换和配置文件等方面得到广泛应用。本专题为大家提供json相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.23

3402

1

jquery怎么操作json
jquery怎么操作json

操作的方法有:1、“$.parseJSON(jsonString)”2、“$.getJSON(url, data, success)”;3、“$.each(obj, callback)”;4、“$.ajax()”。更多jquery怎么操作json的详细内容,可以访问本专题下面的文章。

2023.10.13

1136

3

go语言处理json数据方法
go语言处理json数据方法

本专题整合了go语言中处理json数据方法,阅读专题下面的文章了解更多详细内容。

2025.09.10

3899

7

curl_exec
curl_exec

curl_exec函数是PHP cURL函数列表中的一种,它的功能是执行一个cURL会话。给大家总结了一下php curl_exec函数的一些用法实例,这个函数应该在初始化一个cURL会话并且全部的选项都被设置后被调用。他的返回值成功时返回TRUE, 或者在失败时返回FALSE。

2023.06.14

3703

6

linux常见下载安装工具
linux常见下载安装工具

linux常见下载安装工具有APT、YUM、DNF、Snapcraft、Flatpak、AppImage、Wget、Curl等。想了解更多linux常见下载安装工具相关内容,可以阅读本专题下面的文章。

2023.10.30

855

4

硬盘接口类型介绍
硬盘接口类型介绍

硬盘接口类型有IDE、SATA、SCSI、Fibre Channel、USB、eSATA、mSATA、PCIe等等。详细介绍:1、IDE接口是一种并行接口,主要用于连接硬盘和光驱等设备,它主要有两种类型:ATA和ATAPI,IDE接口已经逐渐被SATA接口;2、SATA接口是一种串行接口,相较于IDE接口,它具有更高的传输速度、更低的功耗和更小的体积;3、SCSI接口等等。

2023.10.19

3168

3

PHP接口编写教程
PHP接口编写教程

本专题整合了PHP接口编写教程,阅读专题下面的文章了解更多详细内容。

2025.10.17

5029

12

php8.4实现接口限流的教程
php8.4实现接口限流的教程

PHP8.4本身不内置限流功能,需借助Redis(令牌桶)或Swoole(漏桶)实现;文件锁因I/O瓶颈、无跨机共享、秒级精度等缺陷不适用高并发场景。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2025.12.29

3829

9

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
安装 Xdebug 并配置 phpstorm
安装 Xdebug 并配置 phpstorm

共1课时 | 190人学习

PostgreSQL 教程
PostgreSQL 教程

共48课时 | 20.6万人学习

好课诞生记
好课诞生记

共20课时 | 7.2万人学习