【保姆级教程】2025年最火的Elasticsearch管理神器INFINI Console安装与实战指南

【免费下载链接】console 🏵️ A lightweight multi-cluster, cross-version unified Elasticsearch / Opensearch / Easysearch governance platform. 跨引擎\跨版本\跨集群的搜索管理神器 【免费下载链接】console 项目地址: https://gitcode.com/infinilabs/console

为什么选择INFINI Console?

你是否还在为跨版本Elasticsearch集群管理头痛?是否在为Opensearch与Easysearch的兼容性问题烦恼?INFINI Console作为一款轻量级多集群、跨版本统一的搜索治理平台,彻底解决了这些痛点。本文将带你从0到1完成安装部署,并掌握核心功能使用,让你1小时内成为搜索集群管理专家。

读完本文你将获得:

  • 3种部署方式的详细步骤(在线安装/容器部署/K8s部署)
  • 初始化配置全流程指南
  • 集群监控与告警实战技巧
  • 权限管理最佳实践
  • 常见问题解决方案

安装前准备

系统要求

环境 最低配置 推荐配置
CPU 2核 4核
内存 4GB 8GB
磁盘 20GB SSD 50GB SSD
操作系统 Linux/Unix/macOS CentOS 7+/Ubuntu 18.04+
JDK 11+ OpenJDK 11

依赖组件

INFINI Console需要一个Elasticsearch/Opensearch/Easysearch集群作为元数据存储:

  • Elasticsearch 5.3+ / Opensearch 1.0+ / Easysearch 1.0+
  • 集群至少1个节点
  • 建议开启ZSTD压缩节省存储空间

部署方式全解析

1. 在线快速安装(推荐)

# 使用root用户操作
whoami && cat /etc/redhat-release && uptime

# 安装JDK 11
yum -y install java-11

# 创建专用用户
groupadd -g 602 infini
useradd -u 602 -g infini -m -d /home/infini -c 'infini' -s /bin/bash infini

# 安装Easysearch作为元数据存储(可选)
curl -sSL http://get.infini.cloud | bash -s -- -p easysearch

# 安装INFINI Console
curl -sSL http://get.infini.cloud | bash -s -- -p console

# 配置JDK路径
ln -s /usr/lib/jvm/java-11-openjdk /opt/easysearch/jdk
sed -i 's/1g/512m/g' /opt/easysearch/config/jvm.options

# 初始化Easysearch
cd /opt/easysearch && bin/initialize.sh 
chown -R infini.infini /opt/easysearch

# 启动服务
su infini -c "/opt/easysearch/bin/easysearch -d"
cd /opt/console && ./console-linux-amd64 -service install && ./console-linux-amd64 -service start

# 验证安装
curl -ku admin:44e4e00cded8d82c16cf https://localhost:9200
服务管理命令
# 启动服务
./console -service start

# 停止服务
./console -service stop

# 重启服务
./console -service restart

# 卸载服务
./console -service uninstall

2. Docker容器部署

# 创建工作目录
mkdir -p ~/infinilabs && cd ~/infinilabs

# 拉取镜像
docker pull infinilabs/console:latest

# 初始化配置目录
docker run --rm -v $PWD/console:/work infinilabs/console cp -rf /config /work

# 启动容器
docker run -p 9000:9000 \
    -v $PWD/console/config:/config \
    -v $PWD/console/data:/data \
    -v $PWD/console/logs:/log \
    --name infini-console \
    infinilabs/console:latest
Docker Compose部署
# 创建docker-compose.yml文件
services:
  infini-console:
    image: infinilabs/console:latest
    ports:
      - 9000:9000
    volumes:
      - ./console/config:/config
      - ./console/data:/data
      - ./console/logs:/log
    container_name: "infini-console"
    restart: unless-stopped

启动命令:docker-compose up -d

3. Kubernetes Helm部署

# 添加Helm仓库
helm repo add infinilabs https://helm.infinilabs.com

# 创建命名空间
kubectl create namespace infini-system

# 安装Chart(使用默认StorageClass)
helm install console infinilabs/console -n infini-system

# 自定义StorageClass安装
helm install console infinilabs/console -n infini-system -f values.yaml

values.yaml配置示例:

storageClassName: "your-storage-class"
resources:
  requests:
    memory: "4Gi"
    cpu: "2"
  limits:
    memory: "8Gi"
    cpu: "4"
service:
  type: NodePort
  nodePort: 30090

初始化配置

首次访问与设置

  1. 使用浏览器访问:http://服务器IP:9000
  2. 首次登录将进入初始化配置向导
  3. 配置元数据存储连接:
# 连接信息示例
集群名称: meta-cluster
节点地址: http://es-node1:9200,http://es-node2:9200
认证方式: 用户名/密码
用户名: admin
密码: 44e4e00cded8d82c16cf
  1. 创建管理员账户:

    • 用户名:admin
    • 密码:设置强密码(至少8位,包含大小写字母、数字和特殊符号)
    • 邮箱:admin@example.com
  2. 配置系统设置:

    • 时区设置:Asia/Shanghai
    • 语言:中文
    • 数据保留策略:7天

界面概览

初始化完成后,你将看到INFINI Console的主界面,包含以下核心区域:

mermaid

核心功能实战

集群管理

添加集群
  1. 进入"集群管理" -> "集群列表"
  2. 点击"添加集群"按钮
  3. 填写集群信息:
集群名称: production-es
集群类型: Elasticsearch
版本: 7.14.0
节点地址: http://es-prod-1:9200,http://es-prod-2:9200,http://es-prod-3:9200
认证方式: API Key
API Key: 生成并填入
  1. 配置高级选项:

    • 连接超时:30秒
    • 监控间隔:10秒
    • 健康检查阈值:黄色
    • 索引生命周期管理:启用
  2. 点击"测试连接",验证成功后点击"保存"

集群监控

INFINI Console提供丰富的监控指标:

  • 集群健康状态
  • 节点CPU/内存/磁盘使用率
  • 索引数量与大小
  • 查询吞吐量与延迟
  • JVM堆内存使用情况

关键指标仪表盘:

mermaid

告警配置

创建告警规则
  1. 进入"监控告警" -> "告警规则"

  2. 点击"创建规则"

  3. 设置基本信息:

    • 规则名称:高CPU使用率告警
    • 集群:production-es
    • 监控对象:节点
    • 指标:CPU使用率
    • 条件:> 80%
    • 持续时间:5分钟
    • 严重级别:警告
  4. 配置通知方式:

    • 邮件通知:admin@example.com
    • 钉钉机器人:配置Webhook
    • Slack通知:配置Channel
  5. 设置抑制策略:

    • 抑制时间:30分钟
    • 合并相同告警:启用

权限管理

创建角色
  1. 进入"权限管理" -> "角色管理"

  2. 点击"创建角色"

  3. 设置角色信息:

    • 角色名称:index_manager
    • 描述:索引管理权限
  4. 配置权限:

    • 集群权限:monitor, manage_index_templates
    • 索引权限:*:read,write,delete,create
    • 租户权限:default:read_write
  5. 点击"保存"

创建用户并授权
  1. 进入"权限管理" -> "用户管理"

  2. 点击"创建用户"

  3. 设置用户信息:

    • 用户名:index_admin
    • 密码:设置安全密码
    • 邮箱:index_admin@example.com
    • 状态:启用
  4. 分配角色:

    • 选择"index_manager"角色
    • 设置数据访问权限:允许访问production-es集群
  5. 点击"保存"

常见问题解决方案

启动失败问题排查

  1. 端口占用

    # 检查9000端口占用情况
    netstat -tulpn | grep 9000
    # 终止占用进程
    kill -9 <PID>
    
  2. 元数据存储连接失败

    • 检查Elasticsearch集群健康状态:curl -XGET "http://es-node:9200/_cluster/health?pretty"
    • 验证网络连通性:telnet es-node 9200
    • 检查认证信息是否正确
  3. 服务启动超时

    • 查看日志文件:tail -f /opt/console/logs/console.log
    • 检查JVM内存配置:vi /opt/console/config/jvm.options
    • 调整堆内存大小:-Xms2g -Xmx2g

性能优化建议

  1. 监控数据采集优化

    • 调整采集间隔:非生产环境可设为30秒
    • 减少不必要的指标采集:只保留关键指标
    • 启用数据采样:高流量集群可设置采样率
  2. 资源配置优化

    # console.yml配置示例
    monitoring:
      interval: 10s
      history:
        retention: 7d
      sampling:
        rate: 1.0  # 100%采样,高流量集群可设为0.5
    

总结与展望

通过本文的学习,你已经掌握了INFINI Console的安装部署和核心功能使用。作为一款强大的搜索治理平台,INFINI Console不仅支持多集群统一管理,还提供了丰富的监控告警、数据管理和权限控制功能,帮助你轻松应对复杂的搜索集群环境。

后续学习路径建议:

  1. 深入学习索引生命周期管理
  2. 掌握数据迁移工具的使用
  3. 配置高级告警策略
  4. 集成第三方系统(如Prometheus、Grafana)

立即访问官方仓库获取最新版本:

git clone https://gitcode.com/infinilabs/console

如有任何问题,欢迎在项目GitHub Issues中提问,或加入官方技术交流群获取支持。让我们一起探索搜索技术的无限可能!

【免费下载链接】console 🏵️ A lightweight multi-cluster, cross-version unified Elasticsearch / Opensearch / Easysearch governance platform. 跨引擎\跨版本\跨集群的搜索管理神器 【免费下载链接】console 项目地址: https://gitcode.com/infinilabs/console

Logo

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。

更多推荐