物理机部署

生产环境资源限制

huatuo-bamai.service 由 systemd 负责资源限制和进程生命周期。服务单元默认不启用 Huatuo 自身 cgroup,使用以下原生配置:

[Service]
CPUAccounting=yes
CPUQuota=200%
MemoryAccounting=yes
MemoryMax=2G
TasksAccounting=yes
TasksMax=32768
KillMode=control-group

CPUQuota=200% 表示最多使用 2 个 CPU 核,MemoryMax=2G 限制服务内存。根据主机规格、采集任务和资源峰值调整这些值。systemd 部署不要传入 --enable-cgroup,否则进程会脱离 service cgroup。

服务启动后,检查状态和 cgroup:

systemctl status huatuo-bamai --no-pager
systemd-cgls --unit huatuo-bamai.service

二进制

HUATUO Release 提供 amd64 和 arm64 的 Linux 静态 tar 包。tar 包包含 huatuo-bamaihuatuo-apiserver 二进制文件、配置文件和 BPF 对象。

本节命令适用于发布资产名为 huatuo-bamai-<version>-static-linux-<arch>.tar.gz 的版本。当前该命名从 v2.2.0 开始提供;v2.0.0v2.1.0 的 tar 包名不同,不能直接套用以下命令。

以下命令使用 HUATUO_VERSION 表示目标版本,可按实际发行版本调整,例如 v2.2.0

HUATUO_VERSION="<release-version>"

1. 下载 tar 包

x86_64 主机下载 amd64 包:

wget "https://github.com/ccfos/huatuo/releases/download/${HUATUO_VERSION}/huatuo-bamai-${HUATUO_VERSION}-static-linux-amd64.tar.gz"

aarch64 主机下载 arm64 包:

wget "https://github.com/ccfos/huatuo/releases/download/${HUATUO_VERSION}/huatuo-bamai-${HUATUO_VERSION}-static-linux-arm64.tar.gz"

2. 安装 tar 包

创建安装、日志和数据目录:

sudo install -d -m 0755 /opt/huatuo-bamai /var/log/huatuo-bamai /var/lib/huatuo-bamai

amd64:

sudo tar -xzf "huatuo-bamai-${HUATUO_VERSION}-static-linux-amd64.tar.gz" --strip-components=1 --no-same-owner -C /opt/huatuo-bamai

arm64:

sudo tar -xzf "huatuo-bamai-${HUATUO_VERSION}-static-linux-arm64.tar.gz" --strip-components=1 --no-same-owner -C /opt/huatuo-bamai

3. 安装服务单元文件

从对应版本源码下载服务单元文件:

sudo wget -O /etc/systemd/system/huatuo-bamai.service "https://raw.githubusercontent.com/ccfos/huatuo/${HUATUO_VERSION}/build/rpm/huatuo-bamai.service"
sudo wget -O /etc/systemd/system/huatuo-apiserver.service "https://raw.githubusercontent.com/ccfos/huatuo/${HUATUO_VERSION}/build/rpm/huatuo-apiserver.service"

4. 修改配置

根据实际部署环境编辑 /opt/huatuo-bamai/conf/huatuo-bamai.conf/opt/huatuo-bamai/conf/huatuo-apiserver.conf。详细配置项说明请参见 huatuo-bamai 配置huatuo-apiserver 配置

根据 service unit 中的 CPUQuotaMemoryMaxTasksMax 设置资源上限。只有直接运行且传入 --enable-cgroup 时才配置 [Runtime]

5. 注册 HUATUO 服务

重新加载 systemd 配置:

sudo systemctl daemon-reload

6. 启动 HUATUO 服务

启动服务并设置开机启动:

sudo systemctl enable --now huatuo-bamai huatuo-apiserver

RPM 包

OpenCloudOS 镜像仓库提供 HUATUO v2.1.0 的 x86_64 和 aarch64 RPM 包。RPM 包会安装 HUATUO 文件和 systemd 服务单元文件。

1. 下载 RPM 包

根据主机架构下载对应的 RPM 包:

x86_64:

wget https://mirrors.opencloudos.tech/epol/9/Everything/x86_64/os/Packages/huatuo-bamai-2.1.0-2.oc9.x86_64.rpm

aarch64:

wget https://mirrors.opencloudos.tech/epol/9/Everything/aarch64/os/Packages/huatuo-bamai-2.1.0-2.oc9.aarch64.rpm

2. 安装 RPM 包

x86_64:

sudo dnf install ./huatuo-bamai-2.1.0-2.oc9.x86_64.rpm

aarch64:

sudo dnf install ./huatuo-bamai-2.1.0-2.oc9.aarch64.rpm

3. 修改配置

根据实际部署环境编辑 /etc/huatuo-bamai/huatuo-bamai.conf。详细配置项说明请参见 huatuo-bamai 配置

根据 service unit 中的 CPUQuotaMemoryMaxTasksMax 设置资源上限。只有直接运行且传入 --enable-cgroup 时才配置 [Runtime]

4. 启动 HUATUO 服务

RPM 包会安装 huatuo-bamai.service 服务单元文件。启动服务并设置开机启动:

sudo systemctl enable --now huatuo-bamai

完整的 RPM 安装指引请参阅 https://mp.weixin.qq.com/s/Gmst4_FsbXUIhuJw1BXNnQ