首页
/ ElasticHQ 安装与配置完全指南

ElasticHQ 安装与配置完全指南

2025-07-08 04:11:14作者:曹令琨Iris

概述

ElasticHQ 是一个功能强大的 Elasticsearch 集群管理工具,提供直观的 Web 界面来监控和管理 Elasticsearch 集群。本文将详细介绍 ElasticHQ 的多种安装方式、配置选项以及常见问题的解决方案。

安装方式

Docker 快速部署(推荐)

对于大多数用户来说,使用 Docker 是最简单快捷的部署方式:

docker run -p 5000:5000 elastichq/elasticsearch-hq

部署完成后,通过浏览器访问 http://localhost:5000 即可使用。

Docker 环境变量配置

可以通过 -e 参数传递环境变量来配置 ElasticHQ:

docker run -p 5000:5000 elastichq/elasticsearch-hq -e HQ_DEFAULT_URL='http://your-es-cluster:9200'

版本说明

  • latest 标签:最新稳定版
  • develop 标签:开发版(可能不稳定)

源码安装

系统要求

  • Python 3.4 或更高版本
  • Elasticsearch 2.x、5.x、6.x 或 7.x 版本

安装步骤

  1. 获取源码(通过下载或克隆)
  2. 安装依赖:pip install -r requirements.txt
  3. 启动服务:python3 application.py
  4. 访问:http://localhost:5000

替代启动方式

python manage.py runserver

版本分支说明

  • master:稳定版
  • develop:开发版(不稳定)
  • #.#.#RC-#:预发布候选版本

初始配置

首次访问 ElasticHQ 时,需要输入 Elasticsearch 集群的连接信息:

  • 基本格式:http://DOMAIN:PORT
  • 支持 HTTPS
  • 基本认证格式:http://USERNAME:PASSWORD@DOMAIN:PORT

详细配置选项

命令行参数

启动时可用的命令行参数:

参数 默认值 描述
--host 127.0.0.1 服务监听地址
--port 5000 服务监听端口
--debug False 启用调试模式
--url http://localhost:9200 默认ES集群地址
--enable-ssl False 启用SSL
--ca-certs /path/to/your/ca.crt CA证书路径
--verify_certs True 是否验证证书

示例

python -m application --enable-ssl --ca-certs /path/to/ca.crt

环境变量配置

环境变量 默认值 描述
HQ_DEFAULT_URL http://localhost:9200 默认ES集群地址
HQ_ENABLE_SSL False 启用SSL
HQ_CA_CERTS /path/to/your/ca.crt CA证书路径
HQ_VERIFY_CERTS True 是否验证证书
HQ_DEBUG False 启用调试日志

SSL 配置

要启用SSL支持:

python -m application --enable-ssl --ca-certs /path/to/your/ca.crt

注意:使用自签名证书时,需要设置 verify_certs=False

数据库配置

ElasticHQ 使用 SQLite 存储集群连接信息等元数据,数据库文件位于 elastichq.db

重置数据库:删除该文件后重启服务即可。

外部配置文件

支持通过 settings.json 文件配置,ElasticHQ 会从以下位置查找该文件:

  1. /etc/elastic-hq/settings.json
  2. ~/settings.json
  3. 当前工作目录下的 settings.json
  4. 当前工作目录下的 elastichq/settings.json
  5. 当前工作目录下的 config/settings.json

配置示例

{
  "SQLALCHEMY_DATABASE_URI": "sqlite:////path/to/db_name.db"
}

生产环境部署建议

不建议直接使用 Flask 开发服务器运行在生产环境,推荐使用 Gunicorn:

gunicorn -w 1 -b :5000 --worker-class eventlet application:application

注意:要使 Metrics 部分的 WebSocket 正常工作,必须设置 worker 数量为 1。

常见问题排查

连接问题

  1. 认证问题:确保使用 http://USERNAME:PASSWORD@DOMAIN:PORT 格式
  2. X-Pack 许可证过期:检查并更新许可证
  3. 网络连通性:确认 HQ 服务器可以访问 ES 集群
  4. 证书验证失败:自签名证书需设置 verify_certs=False

X-Pack 集成

必须通过 URL 传递用户名和密码,这些凭证会以明文形式存储在数据库中。

日志查看

  • 标准安装:/install/path/application.log
  • Docker 容器:/src/application.log

SSL 证书问题

确保 CA 文件与 Elasticsearch 节点的证书签名者一致。可通过以下命令测试:

curl -u admin:password --ca-certs /path/to/ca.crt https://localhost:9200/_cluster/settings?pretty

Docker 容器数据持久化

使用 volume 挂载数据库目录以保持数据持久化。

升级指南

ElasticHQ 遵循语义化版本控制,只要主版本号不变,升级通常不会引入破坏性变更。

升级步骤

  1. 获取最新代码
  2. 升级数据库:python manage.py db upgrade
  3. 重启服务

日志配置

默认日志输出到控制台和文件(application.log)。高级用户可通过修改 elastichq/config/logger.json 自定义日志配置。

许可证

ElasticHQ 使用 Apache License 2.0 许可证。