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
相关推荐
CCblandy8 分钟前
一致性哈希到底省了多少搬迁?本机实测 3 轮:取模 6→7 搬 85.8%,V=128 只搬 14.3%,虚拟节点太少会被倾斜骗
后端·python·云原生·性能优化·架构
code_slave(码畜)12 分钟前
微服务架构落地:OpenFeign 服务远程调用 + 线程池隔离架构实战 —— 超时控制、重试机制、线程池隔离,防雪崩
spring boot·spring cloud·微服务·云原生·架构·openfeign
小陈不好吃21 分钟前
Java 泛型与类型擦除:从 PECS 原则到 TypeToken 绕过
java·开发语言·windows·pecs 原则·typetoken绕过
鶴哥只手遮天26 分钟前
Spring Framework 7.0.9 深度剖析-03-IoC 容器核心:BeanFactory 与 BeanDefinition 体系
java·后端·开源
tianbin91129 分钟前
大模型流式输出异常排查,API 中转站层面的问题定位思路
后端·云计算
ydjs678899-bot32 分钟前
如何在Java中打印pdf静默打印和打印对话框选择
java·python·pdf
Shaoshing34 分钟前
存储引擎与架构
java·开发语言·架构
鶴哥只手遮天42 分钟前
Spring Framework 7.0.9 深度剖析-01-整体架构与设计哲学
java·后端·开源
const_qiu1 小时前
第 2.5 章 2.5.6:前端登录、Token 无感续签与路由守卫
java·前端·人工智能·状态模式
devilnumber1 小时前
Java 代理模式(简单理解回顾)
java·开发语言·代理模式