Hippo4j 线程池监控平台部署手册

文章目录

  • [Hippo4j 线程池监控平台部署手册](#Hippo4j 线程池监控平台部署手册)
    • [1. 登录虚拟机](#1. 登录虚拟机)
    • [2. 检查基础环境](#2. 检查基础环境)
    • [3. 下载 Hippo4j Server](#3. 下载 Hippo4j Server)
    • [4. 初始化 MySQL 数据库](#4. 初始化 MySQL 数据库)
    • [5. 修改 Hippo4j 配置](#5. 修改 Hippo4j 配置)
    • [6. 启动 Hippo4j Server](#6. 启动 Hippo4j Server)
    • [7. 验证启动状态](#7. 验证启动状态)
    • [8. 访问控制台](#8. 访问控制台)
    • [9. 停止 Hippo4j](#9. 停止 Hippo4j)
    • [10. 重启 Hippo4j](#10. 重启 Hippo4j)
    • [11. 常见问题](#11. 常见问题)
    • [12. 本次部署结果](#12. 本次部署结果)

Hippo4j 线程池监控平台部署手册

本文记录在 Ubuntu 虚拟机 192.168.93.128 上部署 Hippo4j Server 的完整过程。命令按顺序复制执行即可。

1. 登录虚拟机

前提:本机已经配置过 SSH 免密登录。

bash 复制代码
ssh ubuntu@192.168.93.128

如果还没配置免密,也可以用密码登录:

bash 复制代码
ssh ubuntu@192.168.93.128

账号密码:

text 复制代码
ubuntu / 123456

2. 检查基础环境

Hippo4j Server 1.5.0 可以使用 Java 8 运行,需要 MySQL 存储配置数据。

bash 复制代码
java -version
mysql --version
wget --version | head -1
tar --version | head -1

如果缺少 Java 或 MySQL,执行:

bash 复制代码
sudo apt-get update
sudo apt-get install -y openjdk-8-jdk mysql-server wget tar

如果 sudo 要密码,输入:

text 复制代码
123456

3. 下载 Hippo4j Server

部署目录统一放在 /home/ubuntu/hippo4j-server

bash 复制代码
cd /home/ubuntu
mkdir -p /home/ubuntu/hippo4j-download
cd /home/ubuntu/hippo4j-download

wget -O hippo4j-server-1.5.0.tar.gz \
  https://github.com/opengoofy/hippo4j/releases/download/v1.5.0/hippo4j-server-1.5.0.tar.gz

rm -rf /home/ubuntu/hippo4j-server
tar -xzf hippo4j-server-1.5.0.tar.gz -C /home/ubuntu

确认解压成功:

bash 复制代码
ls -lah /home/ubuntu/hippo4j-server
find /home/ubuntu/hippo4j-server -maxdepth 2 -type f | sort

关键文件:

text 复制代码
/home/ubuntu/hippo4j-server/bin/startup.sh
/home/ubuntu/hippo4j-server/bin/shutdown.sh
/home/ubuntu/hippo4j-server/conf/application.properties
/home/ubuntu/hippo4j-server/conf/hippo4j_manager.sql
/home/ubuntu/hippo4j-server/target/hippo4j-server.jar

4. 初始化 MySQL 数据库

Hippo4j 自带初始化 SQL:

text 复制代码
/home/ubuntu/hippo4j-server/conf/hippo4j_manager.sql

先确认 MySQL 正在运行:

bash 复制代码
systemctl is-active mysql

如果不是 active,启动 MySQL:

bash 复制代码
sudo systemctl start mysql
sudo systemctl enable mysql

导入 Hippo4j 数据库:

bash 复制代码
cd /home/ubuntu/hippo4j-server
mysql -uroot -p123456 < conf/hippo4j_manager.sql

创建 Hippo4j 专用数据库账号:

bash 复制代码
mysql -uroot -p123456 <<'SQL'
CREATE USER IF NOT EXISTS 'hippo4j'@'localhost' IDENTIFIED BY 'hippo4j_pwd';
GRANT ALL PRIVILEGES ON hippo4j_manager.* TO 'hippo4j'@'localhost';
FLUSH PRIVILEGES;
SELECT COUNT(*) AS tables_count
FROM information_schema.tables
WHERE table_schema='hippo4j_manager';
SQL

正常结果里 tables_count 应该是:

text 复制代码
11

5. 修改 Hippo4j 配置

编辑配置文件:

bash 复制代码
cd /home/ubuntu/hippo4j-server
cp conf/application.properties conf/application.properties.bak

sed -i 's/^spring.datasource.username=.*/spring.datasource.username=hippo4j/' conf/application.properties
sed -i 's/^spring.datasource.password=.*/spring.datasource.password=hippo4j_pwd/' conf/application.properties

确认配置:

bash 复制代码
grep -E 'server.port|spring.datasource.url|spring.datasource.username|spring.datasource.password' \
  conf/application.properties

期望结果:

properties 复制代码
server.port=6691
spring.datasource.url=jdbc:mysql://localhost:3306/hippo4j_manager?characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&serverTimezone=GMT%2B8
spring.datasource.username=hippo4j
spring.datasource.password=hippo4j_pwd

6. 启动 Hippo4j Server

给启动脚本加执行权限:

bash 复制代码
cd /home/ubuntu/hippo4j-server
chmod +x bin/startup.sh bin/shutdown.sh

启动:

bash 复制代码
cd /home/ubuntu/hippo4j-server
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export JAVA_OPT_EXT='-Xms256m -Xmx512m -Xmn128m'
sh bin/startup.sh

说明:

text 复制代码
默认脚本会带 -Xms1024m -Xmx1024m。
这里追加 JAVA_OPT_EXT,是为了在当前虚拟机同时运行 RocketMQ、Redis、XXL-JOB、Dashboard 时降低内存压力。

7. 验证启动状态

查看进程:

bash 复制代码
pgrep -af 'hippo4j-server.jar'

查看端口:

bash 复制代码
ss -ltnp | grep ':6691'

如果系统没有 ss,用:

bash 复制代码
netstat -ltnp | grep ':6691'

查看启动日志:

bash 复制代码
tail -160 /home/ubuntu/hippo4j-server/logs/start.out

看到下面内容表示启动成功:

text 复制代码
Hippo4j started successfully
Port: 6691

验证 Web 页面:

bash 复制代码
wget -qO- --timeout=5 http://127.0.0.1:6691/index.html | head -5

能看到 HTML 返回即可。

8. 访问控制台

浏览器打开:

text 复制代码
http://192.168.93.128:6691/index.html

默认账号:

text 复制代码
admin / 123456

9. 停止 Hippo4j

推荐使用自带停止脚本:

bash 复制代码
cd /home/ubuntu/hippo4j-server
sh bin/shutdown.sh

如果脚本没有停掉,可以手动停止:

bash 复制代码
pkill -f 'hippo4j-server.jar'

确认已停止:

bash 复制代码
pgrep -af 'hippo4j-server.jar' || echo 'Hippo4j stopped'

10. 重启 Hippo4j

bash 复制代码
cd /home/ubuntu/hippo4j-server
pkill -f 'hippo4j-server.jar' || true

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export JAVA_OPT_EXT='-Xms256m -Xmx512m -Xmn128m'
sh bin/startup.sh

sleep 10
pgrep -af 'hippo4j-server.jar'
ss -ltnp | grep ':6691'

11. 常见问题

端口 6691 被占用

检查占用进程:

bash 复制代码
ss -ltnp | grep ':6691'

如果要换端口,例如改成 6692

bash 复制代码
cd /home/ubuntu/hippo4j-server
sed -i 's/^server.port=.*/server.port=6692/' conf/application.properties

然后重启。

数据库连接失败

检查 MySQL:

bash 复制代码
systemctl status mysql --no-pager
mysql -uhippo4j -phippo4j_pwd -e 'USE hippo4j_manager; SHOW TABLES;'

检查配置:

bash 复制代码
grep -E 'spring.datasource.url|spring.datasource.username|spring.datasource.password' \
  /home/ubuntu/hippo4j-server/conf/application.properties

页面打不开

在虚拟机内部先测:

bash 复制代码
wget -qO- --timeout=5 http://127.0.0.1:6691/index.html | head

如果虚拟机内部能打开,宿主机打不开,检查网络和防火墙:

bash 复制代码
ip addr
sudo ufw status

临时放行端口:

bash 复制代码
sudo ufw allow 6691/tcp

内存不足

查看内存:

bash 复制代码
free -h

启动时继续使用小内存参数:

bash 复制代码
export JAVA_OPT_EXT='-Xms256m -Xmx512m -Xmn128m'
sh /home/ubuntu/hippo4j-server/bin/startup.sh

12. 本次部署结果

本次实际部署信息:

text 复制代码
主机: 192.168.93.128
安装目录: /home/ubuntu/hippo4j-server
版本: Hippo4j Server 1.5.0
端口: 6691
数据库: hippo4j_manager
数据库账号: hippo4j / hippo4j_pwd
Web 地址: http://192.168.93.128:6691/index.html
默认登录: admin / 123456

本次已验证:

text 复制代码
6691 正在监听
Web 首页可访问
MySQL 中 11 张表已创建
默认 admin 用户存在
日志显示 Hippo4j started successfully
相关推荐
万少3 小时前
AtomCode开发微信小程序《谁去呀》 全流程
前端·javascript·后端
GetcharZp3 小时前
Epic、暴雪都在用的 C++ 界面利器:Dear ImGui 零基础全景指南
后端
C+++Python4 小时前
详细介绍一下Java泛型的通配符
java·windows·python
pixcarp4 小时前
知识库系统的内容资产闭环怎么设计
服务器·数据库·后端·golang
红尘散仙4 小时前
别再手动录屏了:用 VHS 给终端应用生成会动的文档素材
后端·rust
JosieBook4 小时前
【数据库】时序预测能力的分级进化:TimechoAI如何让每一类用户都能精准预见未来
java·开发语言·数据库
一生了无挂5 小时前
Java处理JSON技巧教学(从基础到高阶实战全覆盖)
java·开发语言·json
李白的天不白6 小时前
使用 SmartAdmin 进行前后端开发
java·前端
swordbob6 小时前
Spring 单例 Bean 是线程安全的吗?
java·开发语言