目录
-
- 一、概述
- 二、安装前提
-
- [2.1 系统要求](#2.1 系统要求)
- [2.2 环境检查](#2.2 环境检查)
- 三、安装步骤
-
- [3.1 安装Node.js](#3.1 安装Node.js)
- [3.2 下载Elasticsearch-Head](#3.2 下载Elasticsearch-Head)
- [3.3 启动Elasticsearch-Head](#3.3 启动Elasticsearch-Head)
- [3.4 配置Elasticsearch跨域](#3.4 配置Elasticsearch跨域)
- [3.5 重启Elasticsearch服务](#3.5 重启Elasticsearch服务)
- 四、连接与验证
-
- [4.1 访问Elasticsearch-Head](#4.1 访问Elasticsearch-Head)
- [4.2 连接集群](#4.2 连接集群)
- [4.3 验证连接](#4.3 验证连接)
- 五、Elasticsearch-Head的常用操作
-
- [5.1 查看集群状态](#5.1 查看集群状态)
- [5.2 浏览索引](#5.2 浏览索引)
- [5.3 基本查询](#5.3 基本查询)
- [5.4 复合查询(执行REST请求)](#5.4 复合查询(执行REST请求))
- 六、安全建议
- 七、总结

一、概述
Elasticsearch-Head 是一个用于管理和监控Elasticsearch集群的Web前端工具,它提供了直观的用户界面,使用户能够轻松地查看集群状态、索引信息、节点详情等。本文档将详细介绍在macOS系统上本地安装和配置Elasticsearch-Head的完整流程。
二、安装前提
2.1 系统要求
-
macOS 10.14 (Mojave) 或更高版本
-
已安装Node.js(版本v10.x或更高)
-
已安装npm(Node.js包管理器)
-
已运行Elasticsearch服务(默认端口9200)
2.2 环境检查
bash
# 检查Node.js版本
node -v
# 检查npm版本
npm -v
# 确认Elasticsearch正在运行
curl -X GET "localhost:9200"
三、安装步骤
3.1 安装Node.js
如果尚未安装Node.js,请通过以下任一方式安装:
使用Homebrew安装:
bash
brew install node
使用官方安装包 : 访问 https://nodejs.org 下载并安装LTS版本。
3.2 下载Elasticsearch-Head

使用git clone方式从GitHub仓库克隆Elasticsearch-Head源码:
bash
# 克隆仓库
git clone https://github.com/mobz/elasticsearch-head.git
# 进入项目目录
cd elasticsearch-head
# 安装依赖
npm install
3.3 启动Elasticsearch-Head
在项目目录下启动服务:
bash
# 使用npm启动
npm run start
默认情况下,服务将在端口9100上启动。


3.4 配置Elasticsearch跨域
为确保Elasticsearch-Head能够连接到Elasticsearch,需要修改Elasticsearch配置文件以启用跨域访问。
编辑elasticsearch.yml配置文件:
bash
# 打开配置文件
vi /usr/local/etc/elasticsearch/elasticsearch.yml
在文件末尾添加跨域配置,完整内容如下:
yaml
cluster.name: "docker-cluster"
network.host: 0.0.0.0
# minimum_master_nodes need to be explicitly set when bound on a public IP
# set to 1 to allow single node clusters
# Details: https://github.com/elastic/elasticsearch/pull/17288
discovery.zen.minimum_master_nodes: 1
# 跨域配置(新增内容)
http.cors.enabled: true
http.cors.allow-origin: "*"
http.cors.allow-methods: OPTIONS,HEAD,GET,POST,PUT,DELETE
http.cors.allow-headers: X-Requested-With,Content-Type,Content-Length,Authorization
3.5 重启Elasticsearch服务
应用配置更改后,重启Elasticsearch服务:
bash
# 停止服务
brew services stop elasticsearch
# 启动服务
brew services start elasticsearch
四、连接与验证
4.1 访问Elasticsearch-Head
打开浏览器,访问:
PlainText
http://localhost:9100
4.2 连接集群
在Elasticsearch-Head界面的连接框中输入:
PlainText
http://localhost:9200
点击"连接"按钮,成功连接后将显示集群的健康状态、节点信息和索引列表。

4.3 验证连接
可通过以下方式验证连接是否成功:
-
查看集群状态是否为绿色或黄色
-
检查节点列表是否显示本地Elasticsearch实例
-
浏览现有索引和文档
五、Elasticsearch-Head的常用操作
5.1 查看集群状态
连接成功后,主界面会显示集群的健康状态(绿色/黄色/红色)、集群名称、节点数量和索引数量。健康状态为绿色表示所有分片都正常,黄色表示主分片正常但副本分片未分配,红色表示有主分片丢失。
5.2 浏览索引
在"数据浏览"或"索引"标签页中,可以查看所有索引的详细信息,包括:
- 索引名称
- 存储大小
- 文档数量
还可以新建索引:


5.3 基本查询
可以根据不同索引中的筛选条件对数据进行筛选,是使用最多的地方。

5.4 复合查询(执行REST请求)
Elasticsearch-Head提供了简单的REST客户端功能,可以在"复合查询"或"任何请求"标签页中:
-
选择HTTP方法(GET/POST/PUT/DELETE)
-
输入请求路径(如/_cat/indices)
-
添加请求体(如JSON数据)
-
点击"提交"查看响应结果

六、安全建议
-
生产环境:不建议在生产环境中使用Elasticsearch-Head,应使用官方的Kibana工具
-
访问控制:如果必须在生产环境使用,应配置防火墙限制访问IP
-
定期更新:保持工具版本最新,以获取安全补丁
-
最小权限:运行服务时使用最小权限账户
七、总结
- Elasticsearch-Head 为 macOS 用户提供了一个简单直观的方式来监控和管理本地 Elasticsearch 实例。
- 特别适合在开发和测试环境,为 Elasticsearch 提供了直观的Web界面,便于日常监控和管理。建议定期更新以获取最新功能和安全补丁。