15分钟极速部署指南:INFINI Console跨集群搜索管理平台搭建全攻略
引言
你是否还在为多集群、跨版本的Elasticsearch/Opensearch/Easysearch管理而烦恼?不同版本间的配置差异、复杂的集群监控、繁琐的权限管理,这些问题是否让你头疼不已?本文将为你提供一套完整的INFINI Console安装部署方案,通过15分钟的快速部署,让你轻松掌控所有搜索集群,实现一站式管理。
读完本文,你将学会:
- 多种安装方式的对比与选择
- 快速部署INFINI Console的详细步骤
- 容器化部署的最佳实践
- 服务配置与后台运行的技巧
- 初始化设置与集群连接方法
1. 准备工作
1.1 系统要求
INFINI Console对系统资源要求较低,以下是推荐配置:
| 组件 | 最低配置 | 推荐配置 |
|---|---|---|
| CPU | 1核 | 2核 |
| 内存 | 1GB | 2GB |
| 磁盘 | 10GB | 20GB |
| 操作系统 | Linux/macOS/Windows | Linux (CentOS/Ubuntu) |
1.2 依赖环境
INFINI Console需要以下环境支持:
- Java 11或更高版本(用于Elasticsearch/Opensearch/Easysearch)
- 网络连接(用于下载安装包和容器镜像)
- 浏览器(用于访问Web界面)
2. 安装方式对比
INFINI Console提供多种安装方式,可根据实际需求选择:
| 安装方式 | 优点 | 缺点 | 适用场景 |
|---|---|---|---|
| 在线安装 | 简单快捷,自动配置 | 依赖网络,无法自定义安装过程 | 快速测试、演示环境 |
| 手动安装 | 可自定义安装路径和版本 | 需要手动配置,步骤较多 | 生产环境、需要精确控制的场景 |
| 容器部署 | 环境隔离,部署简单,易于升级 | 需要Docker环境,性能略有损耗 | 开发环境、CI/CD流程、多实例部署 |
3. 快速安装指南
3.1 在线自动安装
最简便的安装方式是使用官方提供的自动安装脚本:
curl -sSL http://get.infini.cloud | bash -s -- -p console
该脚本会自动下载最新版本的INFINI Console,并解压到/opt/console目录。
脚本支持以下可选参数:
-v [版本号]:指定安装的版本,默认使用最新版本-d [安装目录]:指定安装目录,默认安装到/opt/console
例如,指定安装版本1.0.0到/usr/local/console目录:
curl -sSL http://get.infini.cloud | bash -s -- -p console -v 1.0.0 -d /usr/local/console
3.2 手动安装
如果需要自定义安装过程,可以选择手动安装:
- 访问官方下载页面:https://release.infinilabs.com/console/
- 选择适合您操作系统和架构的安装包
- 下载并解压到目标目录:
mkdir -p /opt/console
tar -zxvf console-[version]-linux-amd64.tar.gz -C /opt/console
4. 容器化部署
4.1 Docker部署
4.1.1 下载镜像
docker pull infinilabs/console:latest
4.1.2 初始化配置目录
mkdir -p ~/infinilabs/console
docker run --rm -v $PWD/infinilabs/console:/work infinilabs/console:latest cp -rf /config /work
4.1.3 启动容器
docker run -d \
-p 9000:9000 \
-v $PWD/infinilabs/console/config:/config \
-v $PWD/infinilabs/console/data:/data \
-v $PWD/infinilabs/console/logs:/log \
--name infini-console \
infinilabs/console:latest
4.2 Docker Compose部署
创建docker-compose.yml文件:
version: '3'
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
5. 启动与停止
5.1 手动启动
cd /opt/console
./console-linux-amd64
成功启动后,将看到以下输出:
___ __ ___ ___
/ __\/ / /___\/\ /\ / \
/ / / / // // / \ \/ /\ /
/ /__/ /__/ \_//\ \_/ / /_//
\____|____|___/ \___/___,'
___ ___ __ __ ___ __ __
/ __\/___\/\ \ \/ _\ /___\/ / /__\
/ / // // \/ /\ \ // // / /_\
/ /__/ \_// /\ / _\ \/ \_// /__//__
\____|___/\_\ \/ \__/\___/\____|__/
[CONSOLE] INFINI Cloud Console, The easiest way to operate your own search platform.
[CONSOLE] 0.3.0_SNAPSHOT, 2022-03-31 10:26:41, 2023-12-31 10:10:10, fa04f6010144b7c5267c71ccaee30230ddf2432d
[03-31 20:27:40] [INF] [app.go:174] initializing console.
[03-31 20:27:40] [INF] [app.go:175] using config: /console-0.3.0_SNAPSHOT-447-mac-amd64/console.yml.
[03-31 20:27:40] [INF] [instance.go:72] workspace: /console-0.3.0_SNAPSHOT-447-mac-amd64/data/console/nodes/c92psf1pdamk8rdhgqpg
[03-31 20:27:40] [INF] [app.go:283] console is up and running now.
[03-31 20:27:40] [INF] [ui.go:197] ui listen at: http://0.0.0.0:9000
[03-31 20:27:40] [INF] [module.go:116] all modules are started
5.2 停止服务
按Ctrl+C停止运行中的INFINI Console:
^C
[CONSOLE] got signal: interrupt, start shutting down
[03-31 20:33:10] [INF] [module.go:145] all modules are stopped
[03-31 20:33:10] [INF] [app.go:267] console now terminated.
[CONSOLE] 0.3.0_SNAPSHOT, uptime: 5m30.307832s
__ _ __ ____ __ _ __ __
/ // |/ // __// // |/ // /
/ // || // _/ / // || // /
/_//_/|_//_/ /_//_/|_//_/
©INFINI.LTD, All Rights Reserved.
5.3 配置为系统服务
为了使INFINI Console能够在后台稳定运行,可以将其配置为系统服务:
cd /opt/console
./console-linux-amd64 -service install
./console-linux-amd64 -service start
服务管理命令:
# 启动服务
./console-linux-amd64 -service start
# 停止服务
./console-linux-amd64 -service stop
# 重启服务
./console-linux-amd64 -service restart
# 查看服务状态
./console-linux-amd64 -service status
# 卸载服务
./console-linux-amd64 -service uninstall
6. 完整部署示例(含Easysearch)
以下是一个完整的部署示例,包括Easysearch和INFINI Console:
# 使用root用户操作
whoami && cat /etc/redhat-release && uptime
# 安装jdk
yum -y install java-11
# 创建infini用户
groupadd -g 602 infini
useradd -u 602 -g infini -m -d /home/infini -c 'infini' -s /bin/bash infini
# 安装Easysearch & Console
curl -sSL http://get.infini.cloud | bash -s -- -p easysearch
curl -sSL http://get.infini.cloud | bash -s -- -p console
# 配置Easysearch jdk
ln -s /usr/lib/jvm/java-11-openjdk-11.0.19.0.7-1.el7_9.x86_64 /opt/easysearch/jdk
sed -i 's/1g/512m/g' /opt/easysearch/config/jvm.options
# 初始化
cd /opt/easysearch && bin/initialize.sh
# 调整目录权限
chown -R infini.infini /opt/easysearch
# 运行Easysearch
su infini -c "/opt/easysearch/bin/easysearch -d"
# 运行Console
cd /opt/console && ./console-linux-amd64 -service install && ./console-linux-amd64 -service start
# 检查Easysearch
curl -ku admin:44e4e00cded8d82c16cf https://localhost:9200
7. 初始化配置
7.1 访问Web界面
使用浏览器访问以下地址: http://localhost:9000
7.2 初始化设置
首次访问时,需要进行初始化配置:
- 接受许可协议
- 创建管理员账户
- 配置存储 Elasticsearch/Opensearch/Easysearch 集群信息
- 设置基本系统参数
7.3 连接现有集群
在初始化过程中,或通过后续的系统设置,您可以添加多个Elasticsearch/Opensearch/Easysearch集群:
- 点击"添加集群"按钮
- 输入集群名称、地址、端口等信息
- 配置认证信息(如需要)
- 点击"测试连接"验证配置
- 保存配置
8. 部署架构
INFINI Console的典型部署架构如下:
INFINI Console作为中间层,提供统一的管理界面和API,连接多个不同类型的搜索集群,实现一站式管理。
9. 常见问题解决
9.1 端口冲突
如果启动时提示端口被占用,可以修改配置文件console.yml中的端口设置:
server:
http:
addr: 0.0.0.0:9000 # 修改此处端口号
9.2 服务启动失败
如果服务启动失败,可以查看日志文件定位问题:
tail -f /opt/console/logs/console.log
9.3 忘记管理员密码
如果忘记管理员密码,可以通过以下命令重置:
cd /opt/console
./console-linux-amd64 reset-password admin
10. 总结与下一步
通过本文的指导,您已经成功部署了INFINI Console,并了解了以下内容:
- 多种安装方式的对比与选择
- 快速部署INFINI Console的详细步骤
- 容器化部署的最佳实践
- 服务配置与后台运行的技巧
- 初始化设置与集群连接方法
接下来,您可以:
- 探索INFINI Console的功能界面
- 添加更多的搜索集群进行管理
- 配置用户权限和角色
- 设置监控和告警规则
- 探索高级功能,如索引管理、数据迁移等
11. 参考资源
- 官方文档:https://docs.infinilabs.com/console
- GitHub仓库:https://gitcode.com/infinilabs/console
- 社区论坛:https://community.infinilabs.com
- 视频教程:https://video.infinilabs.com/console
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



