ES 学习(四)Elasticsearch-Head 的安装和使用

目录

    • 一、概述
    • 二、安装前提
      • [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客户端功能,可以在"复合查询"或"任何请求"标签页中:

  1. 选择HTTP方法(GET/POST/PUT/DELETE)

  2. 输入请求路径(如/_cat/indices)

  3. 添加请求体(如JSON数据)

  4. 点击"提交"查看响应结果

六、安全建议

  1. 生产环境:不建议在生产环境中使用Elasticsearch-Head,应使用官方的Kibana工具

  2. 访问控制:如果必须在生产环境使用,应配置防火墙限制访问IP

  3. 定期更新:保持工具版本最新,以获取安全补丁

  4. 最小权限:运行服务时使用最小权限账户

七、总结

  • Elasticsearch-Head 为 macOS 用户提供了一个简单直观的方式来监控和管理本地 Elasticsearch 实例。
  • 特别适合在开发和测试环境,为 Elasticsearch 提供了直观的Web界面,便于日常监控和管理。建议定期更新以获取最新功能和安全补丁。
相关推荐
SelectDB14 小时前
秒级弹性、最高降本 70%:SelectDB Serverless 如何重塑云数仓资源效率
大数据·后端·云原生
WhoAmI14 小时前
MapReduce框架原理解析一:InputFormat
大数据·hadoop
WhoAmI14 小时前
MapReduce框架原理解析三:OutputFormat
大数据·hadoop
WhoAmI15 小时前
MapReduce框架原理解析二:Shuffle
大数据·hadoop
大大大大晴天2 天前
Hudi技术内幕:Key Generation原理与实践
大数据
Elasticsearch2 天前
3个信号、2个环境变量、0个采集器:使用 Python 和 Elastic 的托管 OTLP 端点实现 OpenTelemetry
elasticsearch
Elasticsearch4 天前
如何通过 Claude Code 来写入 CSV 数据到 Elasticsearch
elasticsearch
得物技术5 天前
从埋点需求到规则资产:Hermes Agent 重构得物数仓工作流
大数据·llm·ai编程
久美子5 天前
AI驱动数仓建设的Harness工程实践——本体建模、知识分层与上下文工程
大数据